You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Google Breakpad with added support for MinGW, maintained for the
4
+
[Dæmon game engine](https://github.com/DaemonEngine/Daemon) and the
5
+
[Unvanquished game](https://unvanquished.net).
4
6
5
-
google-breakpad with added support for Cygwin/MinGW:
6
-
- A `dump_syms` tool which can read DWARF debugging information from PE/COFF executables.
7
+
- Upstream for the Dæmon branch: https://github.com/DaemonEngine/breakpad
8
+
- Bug tracker for the Dæmon branch: https://github.com/DaemonEngine/breakpad/issues
9
+
10
+
11
+
## Dæmon Breakpad
12
+
13
+
Breakpad is a set of client and server components which implement a crash-reporting system.
14
+
15
+
The Dæmon Breakpad adds Cygwin/MinGW support to Google Breakpad, based on Jon Turney's patches,
16
+
with merged Google upstream adding support for DWARF5 debugging information format.
17
+
It retains the support for systems already supported by the Google Breakpad upstream.
18
+
19
+
It provides:
20
+
21
+
- A set of `dump_syms` tools to process debugging informations from various binary format like Linux ELF
22
+
executables, MinGW PE/COFF executables with DWARF debug information for Windows,
23
+
[Native Client](https://www.chromium.org/nativeclient/) binaries and others.
7
24
- The breakpad crash-reporting client libraries built using Makefiles rather than MSVC solutions.
8
25
26
+
9
27
## Compiling
10
28
11
29
### Preparation
12
30
13
-
Run the fetch-externals script to fetch submodules in the DEPS file (e.g the gyp and gtest dependencies).
14
-
(The upsteam repository is meant to be checked out using Chromium's `depot_tools`, which does this for you)
31
+
Optional: Run the fetch-externals script to fetch submodules in the DEPS file (e.g the gyp and gtest dependencies).
32
+
(The Google upsteam repository is meant to be checked out using Chromium's `depot_tools`, which does this for you).
33
+
This is not needed to build Breakpad.
15
34
16
-
```
35
+
```sh
17
36
./fetch-externals
18
37
```
19
38
20
-
Run autoreconf to generate ./configure
39
+
### Building
40
+
41
+
💡️ Instead of `-j4` you can use `-jN` where `N` is your number of CPU cores to distribute compilation on them.
42
+
Linux systems usually provide a handy `nproc` tool that tells the number of CPU core so you can just do `-j$(nproc)`
43
+
to use all available cores.
21
44
22
-
````
45
+
Run `autoreconf` to generate `./configure`:
46
+
47
+
```sh
23
48
autoreconf -fvi
24
-
````
49
+
```
50
+
Run `./configure` to configure the build:
25
51
26
-
### Compiling
52
+
```sh
53
+
./configure
54
+
```
27
55
28
-
See README.orig.md
56
+
Run `make` to build:
29
57
30
-
````
31
-
./configure && make
32
-
````
58
+
```sh
59
+
make -j4
60
+
```
33
61
34
-
will produce `dump_syms.exe`, `minidump_dump.exe`, `minidump_stackwalk.exe`, `libbreakpad.a`,
62
+
This will produce `dump_syms.exe`, `minidump_dump.exe`, `minidump_stackwalk.exe`, `libbreakpad.a`,
35
63
and for MinGW `libcrash_generation_client.a`, `libcrash_generation_server.a`, `crash_generation_app.exe`
36
64
65
+
The `dump_syms` tool to process Linux binaries can be found as `src/tools/linux/dump_syms/dump_syms` and the one to process MinGW binaries can be found as `src/tools/windows/dump_syms_dwarf/dump_syms`.
66
+
67
+
37
68
## Using
38
69
39
-
See [Getting started with breakpad](https://chromium.googlesource.com/breakpad/breakpad/+/master/docs/getting_started_with_breakpad.md)
70
+
See [Getting started with breakpad](https://chromium.googlesource.com/breakpad/breakpad/+/master/docs/getting_started_with_breakpad.md) in Chromium documentation.
0 commit comments