Skip to content

Symbolizing crash dumps manually downloaded from backtrace.io

AlexeyBarabash edited this page Dec 6, 2021 · 2 revisions

It may happen that you need to get symbolized crash stack from non-official build from the backtrace.io.

Your steps to resolve such case are below:

The commands below are from arm64 mono build. If you use another build, change the folders names correspondingly

  1. Download the minidump file from backtrace.io crash via Debug => Attachments => (raw) => Download

  2. Build dump tools:

#BuildDumpTools.sh

cd brave-browser/src
ninja -C out/android_Release_arm64 minidump_stackwalk dump_syms minidump_dump
  1. Check whether you have brave-browser/src/out/android_Release_arm64/dist/brave.breakpad.syms dir, if you already have, skip pt3

  2. Generate symbols. Note: use the binary from lib.unstripped folder. Note 2: if you are making symbols for arm64 or x64 apk/aab, build symbols for each ABI.

#GenerateBreakpadSymbols.sh

mkdir ./brave-browser/src/out/android_Release_arm64/dist/brave.breakpad.syms

./brave-browser/src/components/crash/content/tools/generate_breakpad_symbols.py             \
--build-dir=./brave-browser/src/out/android_Release_arm64                                   \
--symbols-dir=./brave-browser/src/out/android_Release_arm64/dist/brave.breakpad.syms        \
--binary=./brave-browser/src/out/android_Release_arm64/lib.unstripped/libmonochrome.so      \
--platform=android                                                                          \
--verbose

./brave-browser/src/components/crash/content/tools/generate_breakpad_symbols.py             \
--build-dir=./brave-browser/src/out/android_Release_arm64                                   \
--symbols-dir=./brave-browser/src/out/android_Release_arm64/dist/brave.breakpad.syms        \
--binary=./brave-browser/src/out/android_Release_arm64/android_clang_arm/lib.unstripped/libmonochrome.so  \
--platform=android                                                                          \
--verbose

  1. Run script to analyze the dump, in example below ./2cd18bf.dmp is the path to downloaded file from pt1
#DecodeMinidump.sh

./brave-browser/src/out/android_Release_arm64/minidump_stackwalk  \ 
./2cd18bf.dmp  \
./brave-browser/src/out/android_Release_arm64/dist/brave.breakpad.syms 
Clone this wiki locally