The stackwalker project includes applications used to process crash reports from Breakpad.
- pkg-config
- libcurl
- libzip
- jsoncpp
- qtbase (Breakdown)
- cmake
- php (server-side)
Add the required dependencies:
pacman -S tar git make mingw-w64-x86_64-{toolchain,cmake,curl,libzip,jsoncpp,qt5}
Add the required dependencies:
make cc cmake jsoncpp curl libzip qtbase
The stackwalker project contains the following applications:
TODO.
Commandline application that parses mindumps against symbols and outputs a JSON.
WIN32 TODO. Need to port from Natron google-breakpad fork.
mkdir build && cd build
cmake ..
make
Use cmake -G"MSYS Makefiles" ..
on MSYS2.
Tested on Linux and MXE/MSYS2 (MinGW).
dump_syms
is used to create a symbol file for a given (not stripped) binary.
Example:
dump_syms Natron-bin > Natron-bin.sym
stackwalker
or breakdown
is used to parse crash report dumps against symbols generated from dump_syms
.
Example:
stackwalker CRASH.dmp LOCAL_OR_REMOTE_PATH_TO_SYMBOLS_DIR > CRASH.json
Symbols are stored using the following directory structure:
- Filename (example: Natron-bin)
- ID (example: 69CDA01A0F236F7C71CD19E5A20A21AC0)
- Filename.sym.zip (example: Natron-bin.sym.zip)
- ID (example: 69CDA01A0F236F7C71CD19E5A20A21AC0)
Filename and ID must match line 1 in the symbol file.
Note that Stackwalker/Breakdown only supports zipped symbols (filename.sym.zip)