Breakpad vs Crashpad
Breakpad
chromium.googlesource.comCrashpad
chromium.googlesource.comSide by side
| Figure | Breakpad | Crashpad |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| iOS | — | Yes |
| Android | Yes | Yes |
| Self-hosted | Yes | — |
| Plans published | 1 | 1 |
| Spec score · Game Crash Reporting Software | 8.9 (#7) | 8.7 (#10) |
| On-demand dumps | The client can write a minidump when a crash occurs or when the application requests one. | Crashpad can capture dumps of process state on demand for diagnostic purposes. |
| Purpose | Breakpad is a set of client and server components that implement a crash-reporting system. | Crashpad is a library for capturing, storing, and transmitting postmortem crash reports from an application to a collection server. |
Plans
In their own words
Breakpad
Breakpad is a free library and tool suite for capturing application crashes in compact minidump files and converting them into readable C and C++ stack traces. Its client can write a dump when a crash happens or when an application requests one. A symbol dumper converts compiler debugging information, including DWARF, STABS, and Windows PDB files, into Breakpad symbol files; a processor combines those symbols with dumps to produce traces. The sender can transmit dumps and application-defined key-value parameters to a crash server in a multipart HTTP POST request, with HTTPS supported. Developers provide the server and keep symbol files where the processor can access them. Documentation describes integration on Windows, macOS, and Linux, with Android also listed among the platforms. Windows out-of-process dump generation needs a separately run crash generation server. On Linux, crash callbacks should do little because application state may be unsafe; the client design also cautions against heap use and resource allocation after an exception. The project is hosted in the Chromium source repository and lists separate discussion and development mailing lists. The free plan costs nothing.
Crashpad
Crashpad is an open-source crash-reporting system and client library for Android, iOS, Linux, macOS, and Windows. It embeds in an application, where a handler snapshots a registered process after a crash, saves a dump, and can send it to a collection server configured by the embedding client. Applications can also request process-state dumps on demand for diagnostics. Reports use the Windows minidump format with Crashpad extensions and generally contain loaded modules, thread registers and stack memory, selected operating-system state, and memory referenced by registers and stacks. Applications can add key/value annotations, application-specific metadata, and custom minidump streams. Uploads use HTTP or HTTPS through the Breakpad wire protocol, with a documented limit of one upload per hour and failed uploads aborted. The design requires applications to obtain and honor consent because process memory may contain sensitive data. Crashpad is a client-side component; a processor is planned without a completion timeline.