
Breakpad
Breakpad is a free library and tool suite for capturing application crashes and turning them into readable C and C++ stack traces.
What Breakpad is
Breakpad is a free library and tool suite for capturing application crashes and turning them into readable C and C++ stack traces. Its client can save compact minidump files when a crash occurs 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 uses those files to interpret dumps. The sender can transmit dumps and application-defined key-value parameters to a crash server using multipart HTTP POST, with HTTPS supported. Breakpad’s documentation describes client integration for Windows, macOS, and Linux, while listed platforms also include Android and self-hosted use. Teams supply the crash server and keep symbol files where the processor can access them. Windows out-of-process dump generation requires a separately run crash generation server. The Linux guide cautions that crash callbacks should do as little as possible because application state may be unsafe. Breakpad is hosted in the Chromium source repository.
Good
- Free plan with no trial.
- Creates minidumps on crashes or by request.
- Processes dumps into readable C and C++ traces.
- Sender supports HTTPS transfers.
- Documentation covers Windows, macOS, and Linux integration.
Watch out
- Teams must provide a server for dump analysis.
- Symbol files must be made accessible to the processor.
- Windows out-of-process handling needs a separate crash server.
- Crash callbacks should avoid substantial work or resource allocation.
Who it suits
Breakpad suits developers who need crash capture and symbolicated C or C++ traces and can manage their own server and symbol files. It is intended for application teams integrating crash handling on supported systems.
Verdict
Breakpad provides the core pieces for collecting and processing crash reports, but the application team handles server and symbol-file setup. Its crash-time constraints and platform-specific integration requirements are worth considering before adoption.
Plans and prices
From Breakpad's own pricing page, checked 4 Oct 2001.
| Plan | Price | What it gives you |
|---|---|---|
| Breakpad | Free | Open-source crash-reporting library and tool suite · self-built and self-hosted components |
The facts
Each one read from Breakpad's own pages, with the date it was checked.
What it does
- Build and install
- The repository instructions build Breakpad with ./configure and make, and optionally install built libraries with make install.checked 4 Oct 2001
- Components
- Its three main components are a client library, a symbol dumper, and a processor that creates human-readable stack traces from minidumps and symbol files.checked 4 Oct 2001
- Crash capture
- Its client library records crashes in compact minidump files and can also write minidumps on request when a program has not crashed.checked 4 Oct 2001
- Crash-time constraint
- The client design cautions that code running after an exception should avoid heap use and resource allocation because application state may be unsafe.checked 4 Oct 2001
- Crash upload
- The sender library transmits a minidump and application-defined key-value parameters to a crash server using a multipart HTTP POST request.checked 4 Oct 2001
- Current release tag
- The repository lists v2024.02.16 among its tags.checked 4 Oct 2001
- Minidump contents
- A minidump can include loaded executable and library identities, thread register and stack data, and system details such as processor and operating system versions.checked 4 Oct 2001
- On-demand dumps
- The client can write a minidump when a crash occurs or when the application requests one.checked 4 Oct 2001
- Out-of-process handling
- Windows out-of-process dump generation requires a separately run crash generation server, whose process logistics are left to the integrator.checked 4 Oct 2001
- Purpose
- Breakpad is a library and tool suite that records crashes as compact minidump files, sends them to a server, and produces C and C++ stack traces.checked 4 Oct 2001
- Self-hosted processing
- The processor uses symbol files that developers store where the minidump processor can find them; the documentation describes uploading symbols to a server developers have written.checked 4 Oct 2001
- Support and community
- The project lists a discussion mailing list for questions and a separate mailing list for development and reviews.checked 4 Oct 2001
- Support channel
- The repository lists a Google Breakpad discussion group for questions and a separate developer group for reviews.checked 4 Oct 2001
- Supported operating systems
- The project documentation describes client integration for Windows, macOS, and Linux.checked 4 Oct 2001
- Supported systems
- The getting-started documentation describes crash handling on Windows, OS X, and Linux.checked 4 Oct 2001
- Symbol formats
- The symbol dumper reads compiler debugging information including DWARF, STABS, and Windows PDB files and creates Breakpad symbol files.checked 4 Oct 2001
- Symbolicated traces
- The processor uses symbol files to turn minidumps into human-readable C and C++ stack traces.checked 4 Oct 2001
- Symbol upload
- The documentation describes symupload as a tool for sending symbol files to a server that accepts them, including via HTTP POST on macOS.checked 4 Oct 2001
- Transport security
- The sender supports HTTPS because crash dumps may contain sensitive data.checked 4 Oct 2001
- Upload workflow
- Breakpad provides upload-related code and tools, but its documentation expects the application team to send minidumps to a server for analysis.checked 4 Oct 2001
Where it runs
- Linux build
- The Linux guide says the Autotools build produces client and processor libraries, and describes linking the client library into an application.checked 4 Oct 2001
- Linux callback constraint
- The Linux guide says to do as little work as possible in the crash callback because the application may be in an unsafe state.checked 4 Oct 2001
- Mac integration
- The Mac guide describes adding Breakpad.framework to an Xcode project and using dump_syms to create symbol files during the build.checked 4 Oct 2001
The company
- Maker details
- The pages opened identify Breakpad as a project hosted in the Chromium source repository and do not state a company headquarters or founding date.checked 4 Oct 2001
Alternatives to Breakpad
- 1

Countly
Free planOpen sourceAndroidiOSWebAPI8.6From $175 a month - 2

GameAnalytics
Free planAndroidiOSWebAPI8.2From $49 a month - 3

Unity Version Control
Free planWebAPILinuxmacOS8.1Free plan - 4

AppMetrica
Free planOpen sourceAndroidiOSWebAPI8.0Free plan - 5

BugSplat
Free planAndroidiOSWebAPI8.0From $37 a month - 6

Embrace
Free planAndroidiOSWebAPI8.0From $0.80 a month