As some of you might have noticed — actually, it’s pretty amazing just how many of you have noticed — we’ve been busy working on a new feature over the past few months. Now it’s time we let the cat out of the bag, the rabbit out of the hat, the dog out of the car: Support for Minidump crash reports has officially landed in Sentry.
With Minidumps, you can debug crashes from applications written in languages like C, C++, Objective-C and more — regardless of whether you’re targeting Windows, macOS, Linux, iOS, or Android. And, as you might expect, we also support breadcrumbs, context, environments and all other features that you like about Sentry.
How does it work?
First, it’s necessary to integrate the Crashpad or Breakpad client libraries into your application. These will handle application crashes, record essential application state and memory into a Minidump file and upload it to Sentry.
Then, simply go to Project Settings > Client Keys (DSN) and use the Minidump Endpoint as upload URL. After that, you should see native crash events coming in to your issue stream. As always, we’ve put together some more information in our official documentation.
To receive symbolicated stack traces, you’ll also have to upload debug symbols to Sentry when publishing a new release. Please refer to our CLI documentation for more information. We currently support Breakpad symbols, dSYM files (macOS / iOS) and ELF (Linux / Android). Support for more formats, especially Windows PDB files, will follow soon.
As the title suggests, Minidump support is still in beta. Supported platforms, symbol formats and programming languages are somewhat limited as a result. But we’ll be continuously improving. There’s still a long road ahead of us and we’d love for you to join us on this journey. Let us know if something is not working as expected or you have feedback and suggestions. We’d like to hear it all — even the craziest ideas.
A final word on data protection. Since Minidumps process memory at the time of crashing, this might contain sensitive user information such as passwords, environment variables, or local file system paths. As part of our commitment to protect your user data as much as possible, we only extract minimal data to build stack traces and then immediately delete Minidumps afterwards. Furthermore, both Breakpad and Crashpad enable you to customize which regions are included when dumping memory.
That’s it! Use it. Break things. Repair them. Break them some more. Repair them again. Break them one more time. Repair — you get the idea.
Don’t hesitate to let us know what you think about using Minidumps with Sentry (or about anything else Sentry related). Post feedback in our forum or issue tracker, or shout out to our support engineers for help.