A reference implementation of an external crash reporter for desktop applications using the Sentry Native SDK.
- Cross-Platform: Works on Windows, macOS, and Linux thanks to .NET and the Uno Platform.
- User Consent: Gives the user explicit control over whether their crash data is sent.
- User Feedback: Allows users to add comments to the crash report.
- Crash Information: Displays crash details and stack traces from the attached memory dump.
- Attachments: Allows users to preview crash report attachments, such as screenshots.
See CUSTOMIZATION.md for instructions on rebranding the crash reporter with your own logo, colors, and window title.
- .NET 9.0 SDK or later
- Run
uno-checkto verify and install additional requirements
dotnet run --project Sentry.CrashReporter/Sentry.CrashReporter.csproj -f net9.0-desktop -- Sentry.CrashReporter.Tests/data/inproc.envelopedotnet publish -f net9.0-desktop -r <RID> Sentry.CrashReporter/Sentry.CrashReporter.csprojReplace <RID> with your target platform runtime identifier (e.g., win-x64, osx-arm64, linux-x64). See the .NET RID Catalog for more options.
sentry_options_t *options = sentry_options_new();
sentry_options_set_external_crash_reporter_path(options, "/path/to/Sentry.CrashReporter");
/* ... */
sentry_init(options);
