Freedom251 › Game Crash Reporting Software
Crashpad

What Crashpad is
Crashpad is an open-source, client-side crash-reporting system that applications can embed to capture, store, and send postmortem reports to a collection server. Its handler snapshots a registered process after a crash and saves a dump; an application can configure the server URL for uploads. Applications can also request process-state dumps for diagnostics and add key/value annotations, application-specific metadata, or custom minidump streams. Reports use the Windows minidump format with Crashpad extensions and can include loaded modules, thread registers and stack memory, selected operating-system state, and selected memory referenced by registers and stacks. Because reports may contain sensitive process data, the design assigns the client application responsibility for obtaining and honoring consent before uploading. Crashpad supports Android, iOS, Linux, macOS, and Windows, though iOS has limitations: its handler runs in-process, cannot catch some crash groups such as out-of-memory crashes, and converts intermediate dumps later. The embedding application sets the collection-server URL; the client can upload over HTTP or HTTPS. A crash-report processor is planned, without a completion timeline.
Who it suits
Crashpad suits application developers who need client-side crash capture, report metadata, and configurable uploads. Teams embedding it should account for user consent, server configuration, and its iOS limitations.
What it does well
- Captures crash dumps and on-demand diagnostics
- Applications can add annotations and custom streams
- Supports Android, iOS, Linux, macOS, and Windows
- Reports use the Windows minidump format
- Free and open source
What to know first
- Client applications must obtain and honor upload consent
- iOS handler cannot catch some crash groups
- A crash-report processor is planned, with no timeline
Limits
The listed free plan has no stated pricing or plan limits. The documented upload strategy allows one upload per hour and aborts failed uploads; retry support is expected to change. On iOS, the handler cannot catch some crash groups, including out-of-memory crashes.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Crashpad | No pricing or plan limits stated | Free |
As chromium.googlesource.com lists them, read 9 Oct 2026. The maker's own page has the final word.
Getting started
- Open the Crashpad project README and review its build instructions.
- Choose the integration that matches your build: mini_chromium outside Chromium, or Chromium's base library for Chromium builds.
- Embed Crashpad in the client application and configure its collection-server URL if reports should be uploaded.
- Have the client application obtain and honor user consent before uploading reports.
- Use the Crashpad issue tracker for bugs or the crashpad-dev mailing list for project discussion.
Crashpad is an open-source client library for capturing crash data inside software and sending it to a server chosen by the embedding team. It best suits developers who need control over collection, report contents, and infrastructure rather than a turnkey monitoring service. The tradeoff is substantial integration and privacy responsibility, especially when reports can contain process memory.
Overview
Crashpad installs as part of a client application. After a registered process fails, its handler snapshots the process, writes a crash dump, and can transmit it upstream when configured. Applications can also request process-state dumps on demand, which makes Crashpad useful for targeted diagnostics as well as unexpected failures.
This is a client-side component, not a complete crash-reporting backend. The application supplies the collection-server URL, while a separate processor is planned without a stated completion timeline. Teams therefore need to operate or select the receiving and analysis side themselves.
Key features
Reports generally contain loaded modules, thread registers and stack memory, selected operating-system state, and memory referenced by registers and stacks. That breadth can expose the context needed to investigate difficult faults, but it also increases the chance of capturing sensitive information. The application must obtain and honor user consent before uploading.
Key/value annotations and custom minidump streams let developers add release, account, or workflow context specific to their application. Crashpad uses the Windows minidump format with extensions for those additions. Its handler reads client address spaces through accessors intended to validate pointers and enforce access bounds.
Uploads use the Breakpad wire protocol in MIME multipart requests, optionally gzip-compressed. The embedding client chooses HTTP or HTTPS; HTTPS is the sensible choice for protecting data in transit. The documented strategy permits one upload per hour and aborts failed uploads, while retry behavior is expected to change. Crashpad will not upload an unregistered process, although child processes can inherit registration on some operating systems.
Pricing
Crashpad is open source and free. The Crashpad plan costs free, with no published seat, storage, event, or retention limits. That price covers the client software; infrastructure for receiving, processing, storing, and securing reports remains part of the implementer's responsibility.
Platforms
Crashpad supports Android, iOS, Linux, macOS, and Windows. Project status describes completed clients for macOS, Windows, Fuchsia, and Linux, including Android and Chromium OS. iOS work has begun with important differences: the handler runs in-process, cannot catch some crash groups such as out-of-memory failures, and writes intermediate dumps that are converted to minidumps later.
Outside Chromium, integration depends on mini_chromium; Chromium builds use Chromium's base library. Build instructions are provided, and Crashpad Buildbot performs automated builds and tests.
Who it's for
Crashpad fits application and game teams that can embed native client code, run a collection service, and define a clear consent and data-retention policy. It is particularly appropriate when custom metadata, on-demand dumps, and control over the upload destination matter more than a hosted dashboard.
It is a poor fit for teams seeking an immediately managed monitoring product, built-in report processing, or a simple no-code integration. iOS teams should also account for the handler's in-process design and crash categories it cannot capture.
Pros and cons
Pros
- Free and open source: there is no software license charge or stated usage cap.
- Rich diagnostic context: dumps include stack, register, module, and selected memory data, with on-demand capture available.
- Extensible reports: annotations and custom minidump streams support application-specific investigation.
- Deployment control: the embedding team selects the collection server and transport.
- Broad reach: clients cover major desktop and mobile platforms.
Cons
- Backend is yours to provide: Crashpad does not deliver a finished processor or hosted analysis service.
- Privacy work is unavoidable: process memory may contain sensitive data, so consent and handling policies are integration requirements.
- Upload behavior is constrained: the documented one-per-hour limit and aborted failed uploads may not suit high-volume or unreliable environments.
- iOS coverage has gaps: some crash groups are not catchable and conversion occurs after intermediate dump creation.
Alternatives
For a self-built, self-hosted crash-reporting library and tool suite, choose Breakpad instead. Choose Backtrace if a freemium service with a free developer tier, monthly error allowance, retention, and storage is preferable. BugSplat is a better match for hosted crash management with a free tier offering user logins, storage, monthly crash capacity, and retention. Choose BugSnag for a freemium monitoring product with a free plan, trial, broad platform coverage, and integrations. AccelByte Development Toolkit suits game teams wanting freemium build, playtest, and issue-reporting workflows. GameAnalytics is aimed at game analytics dashboards and reporting rather than a client crash library. Tombstack is another freemium option for teams operating within its listed concurrency and retention limits. Embrace targets mobile teams wanting hosted errors, crashes, and basic performance monitoring on a usage-based free tier. Browse Game Crash Reporting Software for the wider category.
Verdict
Choose Crashpad when your team wants a no-license-cost, embeddable capture layer with customizable diagnostics and control of where reports travel. Look elsewhere when you need hosted processing, dashboards, managed retention, or less responsibility for consent, infrastructure, and platform-specific edge cases.
Verdict
Crashpad provides client-side capture and configurable report uploads, with options for diagnostic dumps and application-specific metadata. Its privacy responsibilities and platform-specific behavior matter when planning an integration.
Questions
How much does Crashpad cost?
The listed Crashpad plan is free, and the project is open source.
Which platforms does Crashpad support?
The listed platforms are Android, iOS, Linux, macOS, and Windows. Project status materials also describe completed clients for Fuchsia and Chromium OS; iOS work has begun.
Does Crashpad include a crash-reporting server?
Crashpad is a client-side component. A crash-report processor is planned, with no completion timeline set.
How are reports sent?
The embedding application configures the collection-server URL. The handler can upload reports over HTTP or HTTPS using the Breakpad wire protocol.
What is required before uploading reports?
The design says the client application must obtain and honor user consent because reports may contain sensitive data from process memory.
Where can developers get project support?
The README points to the Crashpad issue tracker for bugs and the crashpad-dev mailing list for developer discussion.
Facts from Crashpad's own pages
- Annotations
- Client applications can add key/value annotations and extend reports with application-specific metadata or custom minidump streams. · chromium.googlesource.com, 4 Oct 2026
- Backend scope
- Crashpad is a client-side component; its status page says a crash-report processor is planned, with no completion timeline set. · chromium.googlesource.com, 4 Oct 2026
- Build and test
- The project provides build instructions and says Crashpad Buildbot performs automated builds and tests. · chromium.googlesource.com, 9 Oct 2026
- Collection server
- The embedding application configures the collection server URL, and Crashpad can upload reports over HTTP or HTTPS. · chromium.googlesource.com, 9 Oct 2026
- 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. · chromium.googlesource.com, 4 Oct 2026
- Crash metadata
- Applications can add key/value annotations and extend reports with application-specific metadata or custom minidump streams. · chromium.googlesource.com, 9 Oct 2026
- Diagnostics
- It can capture process state on demand for diagnostic purposes. · chromium.googlesource.com, 9 Oct 2026
- Integration
- Crashpad is embedded into client applications; outside Chromium it depends on mini_chromium, while Chromium builds use Chromium's base library. · chromium.googlesource.com, 9 Oct 2026
- 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. · chromium.googlesource.com, 9 Oct 2026
- 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. · chromium.googlesource.com, 9 Oct 2026
- On-demand dumps
- Crashpad can capture dumps of process state on demand for diagnostic purposes. · chromium.googlesource.com, 4 Oct 2026
- Platforms
- The project status page lists complete crash-reporting clients and related tools for macOS, Windows, Fuchsia, and Linux, including Android and Chromium OS. · chromium.googlesource.com, 4 Oct 2026
- 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. · chromium.googlesource.com, 9 Oct 2026
- 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. · chromium.googlesource.com, 4 Oct 2026
- Project support
- The README directs users to the issue tracker for bugs and the crashpad-dev mailing list for project discussion. · chromium.googlesource.com, 9 Oct 2026
- Purpose
- Crashpad is a library for capturing, storing, and transmitting postmortem crash reports from an application to a collection server. · chromium.googlesource.com, 9 Oct 2026
- 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. · chromium.googlesource.com, 4 Oct 2026
- Report format
- Crash reports use the Windows minidump format with extensions for Crashpad additions such as annotations. · chromium.googlesource.com, 4 Oct 2026
- Security
- The handler reads client address spaces through accessors designed to check pointer validity and enforce access bounds. · chromium.googlesource.com, 9 Oct 2026
- Support and project contact
- The README points users to the Crashpad issue tracker for bugs and the crashpad-dev mailing list for developer discussion. · chromium.googlesource.com, 4 Oct 2026
- Supported platforms
- The project status page describes completed crash-reporting clients for macOS, Windows, Fuchsia, and Linux, including Android and Chromium OS. · chromium.googlesource.com, 9 Oct 2026
- 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. · chromium.googlesource.com, 4 Oct 2026
- Upload behavior
- The documented client-side throttling currently limits uploads to one per hour, and failed uploads are aborted without retry. · chromium.googlesource.com, 9 Oct 2026
- Upload protocol
- Crashpad uses the Breakpad wire protocol, sending a MIME multipart request that can be gzip-compressed. · chromium.googlesource.com, 9 Oct 2026
Where Crashpad stands on Freedom251
- Game Crash Reporting Software#22 of 26
