Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Removes debug symbols  from client code.

  • (Client) Writes minidump file with thread context.
  • (Client) Submits minidump to Crash Collector.
  • (Crash Collector) Reconstructs human readable stack trace.


draw.io Diagram
diagramNameBreakpad.drawio
revision1
Image Removed


When compiled, the stack produces library (libbreakpad_client.a) which should be linked with the test application. When application crashes, it creates minidump files. There are breakpad utilities like dump_syms and minidump_stackwalker which are used to analyze the minidump.

...

Breakpad tool “dump_syms” run on  binaries to produce the text-format symbols. The minidump should be copied to server pc where dump_syms is present.

breakpad_pc/src/tools/linux/dump_syms/dump_syms breakpad_exercise  >  breakpad_exercise.sym

...

In the ideal scenario, this symbol file will be generated extracted initially and uploaded to some server. The application/library without symbol will be deployed. Once crashed, the minidump will be generated which will be analyzed along with this symbol file to generate stack trace.

...

Run minidump_stackwalk tool on minidump file as below to produce a symbolized stack trace

breakpad_pc/src/processor/minidump_stackwalk  40e9abf8-19cc-4b55-cd2bb29f-dbd37900.dmp  symbols/  >  tracefile

...