Crashpad
chromium.googlesource.com
What it is
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.
Spec sheet
- Purpose
- Crashpad is a library for capturing, storing, and transmitting postmortem crash reports from an application to a collection server.Read 9 Oct 2026 · chromium.googlesource.com
- Platforms
- The project status page lists complete crash-reporting clients and related tools for macOS, Windows, Fuchsia, and Linux, including Android and Chromium OS.Read 4 Oct 2026 · chromium.googlesource.com
- Security
- The handler reads client address spaces through accessors designed to check pointer validity and enforce access bounds.Read 9 Oct 2026 · chromium.googlesource.com
- Privacy
- Crashpad's design says the client application must obtain and honor user consent before uploading reports, which may contain arbitrary data from process memory.Read 9 Oct 2026 · chromium.googlesource.com
- Annotations
- Client applications can add key/value annotations and extend reports with application-specific metadata or custom minidump streams.Read 4 Oct 2026 · chromium.googlesource.com
- Backend scope
- Crashpad is a client-side component; its status page says a crash-report processor is planned, with no completion timeline set.Read 4 Oct 2026 · chromium.googlesource.com
- Build and test
- The project provides build instructions and says Crashpad Buildbot performs automated builds and tests.Read 9 Oct 2026 · chromium.googlesource.com
- Collection server
- The embedding application configures the collection server URL, and Crashpad can upload reports over HTTP or HTTPS.Read 9 Oct 2026 · chromium.googlesource.com
- Consent and privacy
- The design says the client application must obtain and honor user consent for uploads, because reports may contain sensitive data from process memory.Read 4 Oct 2026 · chromium.googlesource.com
- Crash metadata
- Applications can add key/value annotations and extend reports with application-specific metadata or custom minidump streams.Read 9 Oct 2026 · chromium.googlesource.com
- Diagnostics
- It can capture process state on demand for diagnostic purposes.Read 9 Oct 2026 · chromium.googlesource.com
- Integration
- Crashpad is embedded into client applications; outside Chromium it depends on mini_chromium, while Chromium builds use Chromium's base library.Read 9 Oct 2026 · chromium.googlesource.com
- iOS limitations
- The iOS handler cannot catch some crash groups, including out-of-memory crashes, and writes intermediate dumps that are converted to minidumps later.Read 9 Oct 2026 · chromium.googlesource.com
- iOS status
- The project status page says work has begun on an iOS client; iOS uses an in-process handler because its sandbox restricts delegating work to separate processes.Read 9 Oct 2026 · chromium.googlesource.com
- On-demand dumps
- Crashpad can capture dumps of process state on demand for diagnostic purposes.Read 4 Oct 2026 · chromium.googlesource.com
- Process architecture
- Crashpad uses a handler that snapshots a client process after a crash, saves a crash dump, and can transmit it to an upstream server if configured.Read 4 Oct 2026 · chromium.googlesource.com
- Project support
- The README directs users to the issue tracker for bugs and the crashpad-dev mailing list for project discussion.Read 9 Oct 2026 · chromium.googlesource.com
- Report contents
- Crash dumps generally include loaded modules, thread registers and stack memory, selected operating-system state, and selected memory referenced by registers and stacks.Read 4 Oct 2026 · chromium.googlesource.com
- Report format
- Crash reports use the Windows minidump format with extensions for Crashpad additions such as annotations.Read 4 Oct 2026 · chromium.googlesource.com
- Support and project contact
- The README points users to the Crashpad issue tracker for bugs and the crashpad-dev mailing list for developer discussion.Read 4 Oct 2026 · chromium.googlesource.com
- Supported platforms
- The project status page describes completed crash-reporting clients for macOS, Windows, Fuchsia, and Linux, including Android and Chromium OS.Read 9 Oct 2026 · chromium.googlesource.com
- Transport
- The embedding client sets the collection-server URL, and the handler can upload over HTTP or HTTPS; the design strongly suggests HTTPS to protect privacy in transit.Read 4 Oct 2026 · chromium.googlesource.com
- Upload behavior
- The documented client-side throttling currently limits uploads to one per hour, and failed uploads are aborted without retry.Read 9 Oct 2026 · chromium.googlesource.com
- Upload protocol
- Crashpad uses the Breakpad wire protocol, sending a MIME multipart request that can be gzip-compressed.Read 9 Oct 2026 · chromium.googlesource.com
- Upload scope
- Crashpad says it will not upload a process that has not registered with its handler, though registrations may be inherited by child processes on some operating systems.Read 4 Oct 2026 · chromium.googlesource.com
Plans and prices
Strong points and limits
Strong points
- Free and open source
- Supports Android, iOS, Linux, macOS, and Windows
- On-demand diagnostic dumps
- Custom annotations and minidump streams
- HTTP or HTTPS upload support
Limits
- Reports may contain sensitive process memory
- Uploads limited to one per hour
- Crash processor is not completed
- iOS handler misses some crash groups
Who it suits
It suits developers embedding crash reporting in applications across the listed platforms. Teams needing configurable metadata, diagnostic dumps, and a collection-server connection can use its client library.
Verdict
Crashpad provides embedded crash capture, configurable report data, and server uploads across several platforms. Its consent requirements, upload behavior, and incomplete processor scope matter when planning deployment.
Where Specifiction places it
- Game Crash Reporting Software#10 of 268.7