From 7e924a7798e7a2982bc10825586bfa3e95498d95 Mon Sep 17 00:00:00 2001 From: xiaoyifang <105986+xiaoyifang@users.noreply.github.com> Date: Sun, 7 May 2023 17:18:06 +0800 Subject: [PATCH] howto:add an article about how to analysis the crash dump created by breakpad --- howto/how to use breadpad crash analysis.md | 44 +++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 howto/how to use breadpad crash analysis.md diff --git a/howto/how to use breadpad crash analysis.md b/howto/how to use breadpad crash analysis.md new file mode 100644 index 00000000..da10d101 --- /dev/null +++ b/howto/how to use breadpad crash analysis.md @@ -0,0 +1,44 @@ +Introduction +---------------------- + +Goldendict-ng has provide an option to build the application with [breakpad](https://docs.sentry.io/platforms/native/guides/breakpad/) + +`CONFIG+=use_breakpad` to enable this feature. + + +Currently only Windows xapian has built with breakpad support. + +How to analyze the dump created by breakpad. +------------ + +When a crash is encountered, a dump file is generated under the folder `crash`.Take the dump file as `a.dmp` for following example. + +1. `dump_syms.exe GoldenDict.pdb > GoldenDict.sym` +The content of GoldenDict.sym is like this: +``` +MODULE windows x86_64 904B2C52C1EC411D9D0271445CAD6DCD2 GoldenDict.pdb +INFO CODE_ID 645510C96CC000 GoldenDict.exe +``` +2. create a folder such as `symbols` and a series of folders like this: +``` +GoldDict.exe +a.dmp (A) +symbols +└─GoldenDict.pdb (B) + └─904B2C52C1EC411D9D0271445CAD6DCD2 (C) + └─GoldenDict.sym +``` +- `A` this is the dump file +- `B` this is a folder name +- `C` this folder takes the name from the first line of `GoldenDict.sym` file + + +3. anlaysis the dump file like this +``` +minidump_stackwalk.exe -s a.dmp symbols > a.txt +``` +4. check the a.txt file to find the possible crash reason. usually it will point to the actual crash line number of the source code. + +Note +------------ +The tools can be downloaded from [minidump-tools](https://gitee.com/wabwh/breakpad-minindump-tools/tree/master/) \ No newline at end of file