Crashpad is the latest open source crash reporting tool built by Google and is the successor to the popular Breakpad crash reporter. Crashpad allows you to submit minidumps to a configured URL after a crash occurs in your product. The official Crashpad documentation is available here.
To begin download and unzip the BugSplat Crashpad software development kit. The download contains a sample Crashpad application and a compiled version of Crashpad for Windows.
It's also possible to download and build Crashpad yourself. This step is required if you are targeting an OS other than Windows. See our Building Crashpad doc for our How to Build Google Crashpad.
To get a feel for the BugSplat service before enabling your application, experiment with the myCrashpadCrasher sample application. You can find the Visual Studio project file located in your download folder at ...\BugSplatCrashpad\BugSplat\samples\myCrashpadCrasher\myCrashpadCrasher.vcxproj.
Run the sample application without the debugger attached to post a crash report to our public "fred@bugsplat.com" database. To view the report, login to the public database using the account "fred@bugsplat.com" with password "Flintstone".
Follow the myCrashpadCrasher pattern to enable Crashpad in your application.
SendPdbs
utility
to upload .exe, .dll and .pdb files. This is the preferred approach for Windows products. Additional
information can
be found at our SendPdbs page.
.sym
file format.
This format is required for platforms other than Windows.
To upload your application's .sym files using the manual symbol upload page,
select one of your symbol stores on the Symbols page, then click the "Upload new symbol files" link.
Alternatively, you can use the Breakpad symupload utility to automate the symbol upload process.
Run the following command replacing
{database},
{appName}and
{appVersion}
with values specific to your BugSplat database and symbol store.
Make sure both the path to the sym file and the upload url are wrapped in quotes:
The BugSplat database for your crash reports is created on the Company page. Typically you will create a new database for each major release of your product.
Compiler optimizations can cause a mismatch between the line numbers in crash reports and the actual line numbers in your code. BugSplat recommends turning off compiler optimizations to ensure that the line numbers in your crash reports match the line numbers in your code. To turn off optimizations in Visual Studio, right click your project and navigate to Properties > C/C++ > Optimization > Optimization and set the value to Disabled (/Od).
BugSplat can process Crashpad crashes reported from Windows operating systems with our Windows backend, rather than the Breakpad backend. The advantage to this approach is that BugSplat will be able to display function arguments and local variables for each resolved stack frame. Another advantage of this approach is that our backend will automatically resolve Windows OS symbols.
To configure your Breakpad crashes to be processed by our Windows backend, create unique AppName/AppVersion
combinations for the Windows versions of your application and upload .pdb
, .dll
and .exe
files (rather than .sym
files).
The presence of .pdb
, .dll
or .exe
files in the symbol store is what
triggers the use of the Windows backend.
Uploading Windows symbols can be done via our manual symbol upload page or our automated tool SendPdbs.