aboutsummaryrefslogtreecommitdiff
path: root/doc/Building/Breakpad.asciidoc
blob: aa2642e9947edd8eb90a79d9edb6e78957e01a43 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
== Breakpad

=== Enabling breakpad
Use the `-DBreakpad=enabled` option. This requires Breakpad be installed as a package.

=== Building breakpad on linux
[source, sh]
----
# Get the missing linux syscall support header
if [ ! -f breakpad.git/src/third_party/lss/linux_syscall_support.h ]; then
    mkdir -p breakpad.git/src/third_party/lss
    curl -L https://chromium.googlesource.com/linux-syscall-support/+/master/linux_syscall_support.h?format=TEXT | base64 --decode > breakpad.git/src/third_party/lss/linux_syscall_support.h
fi

buildpath=$(pwd)/build
if [ ! -d $buildpath ]; then
    mkdir $buildpath
fi

installpath=$(pwd)/install
if [ ! -d $installpath ]; then
    mkdir $installpath
fi

cd $buildpath
../breakpad.git/configure --prefix=$installpath
make
make install
----

=== Producing symbols
[source, sh]
----
tools/linux/dump_syms/dump_syms ./poi > poi.sym
head -n1 poi.sym
mkdir -p ./symbols/poi/<hex>
mv poi.sym ./symbols/poi/<hex>
----

=== Processing minidump
[source, sh]
----
processor/minidump_stackwalk minidump.dmp ./symbols
----