Google Breakpad Integration
Overview
After crash occurs and intercepted by breakpad it creates minidump file (*.dmp) with useful crash related information. Extracting human readable information from minidump file format requires running of minidump_stackwalk tool with specially pre-generated symbol files on application binaries.
Getting Readable Stack Trace from User Submitted Files
- Original breakpad repository should be checked out on dev machine and built locally; 
- Use - dump_symstool to generate symbols file from application binary file:
google-breakpad/src/tools/linux/dump_syms/dump_syms ./ApplicationBinary > ./ApplicationBinary.sym
head -n1 ./ApplicationBinary.symAbove command output may look something like this:
MODULE Windows x86_64 6EDC6ACDB282125843FD59DA9C81BD830 ApplicationBinary- To structure symbols file correctly you can do following next: 
mkdir -p ./symbols/ApplicationBinary/6EDC6ACDB282125843FD59DA9C81BD830
mv ./ApplicationBinary.sym ./symbols/ApplicationBinary/6EDC6ACDB282125843FD59DA9C81BD830- Generate readable stack trace pointing to the place with crash by running - minidump_stackwalktool on minidump file with passing the path to previously generated symbol files:
google-breakpad/src/processor/minidump_stackwalk 09fd98ec-d55c-29e1-4ae067b0-4aaec0d6.dmp ./symbolsNOTES:
- symbols can be generated only for application binaries with debug info ( - Debugor- RelWithDebInfo);
- warn users that dumps may contain sensitive infomatiom; 
- (for wallet binaries) ask users to generate dumps locally instead of sharing raw - minidumpfile publicly.
Last updated
Was this helpful?