-
-
Notifications
You must be signed in to change notification settings - Fork 29
Google Breakpad Integration
Alexander edited this page Sep 26, 2019
·
1 revision
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.
- Original breakpad repository should be checked out on dev machine and built locally;
- Use
dump_syms
tool to generate symbols file from application binary file:
google-breakpad/src/tools/linux/dump_syms/dump_syms ./ApplicationBinary > ./ApplicationBinary.sym
head -n1 ./ApplicationBinary.sym
Above 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_stackwalk
tool on minidump file with passing the path to previously generated symbol files:
google-breakpad/src/processor/minidump_stackwalk 09fd98ec-d55c-29e1-4ae067b0-4aaec0d6.dmp ./symbols
NOTES:
- symbols can be generated only for application binaries with debug info (
Debug
orRelWithDebInfo
); - warn users that dumps may contain sensitive infomatiom;
- (for wallet binaries) ask users to generate dumps locally instead of sharing raw
minidump
file publicly.
- A01. | Contributing
- A02. | Getting Started
- A03. | Qwertycoin Community
- A04. | Qwertycoin Voting
- A05. | Qwertycoin API
- B01. | Generating a Wallet
- B02. | Making a Paper Wallet
- B03. | Wallet Backup
- B04. | Wallet Recovery
- B05. | Wallet Update
- B06. | Using CLI Wallet
- B07. | Using RPC Wallet
- B08. | Using GUI Wallet
- B09. | Using Zero Wallet
- B10. | Using Web Wallet
- B11. | Using Mobile Wallet
- B12. | RPC Wallet API
- B13. | Sign and verify messages
- C01. | Start Masternode
- C02. | Fix Sync Issues
- C03. | Load Checkpoints
- C04. | JSON RPC API
- C05. | HTTP RPC API
- D01. | XMR Stak Guide
- D02. | XMR Stak Linux Guide
- D03. | XMRIG Guide
- D04. | Mining with SBC
- D05. | Cloud Mining
- D06. | Mobile Mining
- D07. | Using a Mining Pool
- D08. | Creating a Mining Pool
- E01. | How to trade QWC on Crex24
- E02. | How to trade QWC on Bitexlive
- E03. | How to trade QWC on Bisq
- G01. | Hosting Block Explorer
- G02. | Hosting Faucet
- G03. | Hosting Web Wallet
- G04. | How to use the QWC Faucet