-
-
Notifications
You must be signed in to change notification settings - Fork 192
feat: external crash reporter #1303
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
@sentry review |
On it! We are reviewing the PR and will provide feedback shortly. |
PR DescriptionThis pull request introduces the ability to launch a separate feedback handler process upon application crashes. This allows for collecting user feedback or performing custom actions outside the main application process, ensuring that these operations don't interfere with crash reporting or application stability. Click to see moreKey Technical Changes
Architecture Decisions
Dependencies and Interactions
Risk Considerations
Notable Implementation Details
|
75ba1e8
to
d89a33f
Compare
b7b5a7f
to
272c93c
Compare
5daca98
to
ffda5f9
Compare
Oh, I didn't raise this as an issue because I expected you to have tested this already. The same applies to |
Of course, another option would also be to expose a minidump endpoint client and add user feedback as a decodable payload to the minidump endpoint in |
A regression caused by 792b447 as we're no longer adding event to the external crash report but let Crashpad have the usual msg-packed __sentry-event.
To distinguish from the existing "system" crash reporter options API.
8682918
to
a41d48a
Compare
The reference GUI made with .NET 9.0 + Uno Platform is now available here: https://github.com/getsentry/sentry-desktop-crash-reporter (WIP!) For example, launching it straight from the build directory on Windows: sentry_options_set_external_crash_reporter_pathw(options, L"C:\\path\\to\\sentry-desktop-crash-reporter\\Sentry.CrashReporter\\bin\\Release\\net9.0-desktop\\Sentry.CrashReporter.exe"); |
Context:
Depends on:
Works with:
TODO:
sentry__path_get_mtime()
#1317sentry__process_spawn()
#1318Usage:
On startup, register a path to an external crash reporter executable
When a crash is captured, the external crash reporter process is spawned and detached, and the path to a crash event envelope is passed as an argument.
Note
The external crash reporter is responsible for submitting the envelope to Sentry. It may ask for user consent or feedback, and attach additional data to the envelope.
The command-line argument allows using almost any app for debugging and testing. Text editor, web browser, anything that is capable of handling a single argument and displaying a plain-text JSON(L) file.
See
tests/fixtures/crash_reporter/crash_reporter.c
for a minimal crash reporter implementation used for integration tests.Examples:
Close: #1223