Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 3 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -365,14 +365,12 @@ Other important configuration options include:
process, and can thus not properly terminate sessions or call the registered
`before_send` or `on_crash` hook. It will also lose any events that have been queued for
sending at the time of the crash.
- The Crashpad backend on Windows supports fast-fail crashes, which bypass SEH (Structured
- On Windows, the crashpad and native backends support fast-fail crashes, which bypass SEH (Structured
Exception Handling) primarily for security reasons. `sentry-native` registers a WER (Windows Error
Reporting) module, which signals the `crashpad_handler` to send a minidump when a fast-fail crash occurs
Reporting) module, which signals the out-of-process crash handler when a fast-fail crash occurs.
But since this process bypasses SEH, the application's local exception handler is no longer invoked, which
also means that for these kinds of crashes, `before_send` and `on_crash` will not be invoked before
sending the minidump, and thus have no effect.
- When using the crashpad backend on macOS, the list of attachments that will be sent
along with crashes is frozen at the time of `sentry_init`.
sending the crash report, and thus have no effect.

## Benchmarks

Expand Down
20 changes: 10 additions & 10 deletions include/sentry.h
Original file line number Diff line number Diff line change
Expand Up @@ -1154,10 +1154,10 @@ SENTRY_API void sentry_options_set_send_default_pii(
*
* https://develop.sentry.dev/sdk/sessions/#filter-order
*
* On Windows the crashpad backend can capture fast-fail crashes which bypass
* SEH. Since the `before_send` is called by a local exception-handler, it will
* not be invoked when such a crash happened, even though a minidump will be
* sent.
* On Windows, the crashpad and native backends can capture fast-fail crashes
* which bypass SEH. Since the `before_send` callback is called by a local
* exception-handler, it will not be invoked when such a crash happened, even
* though a crash report will be sent.
*/
typedef sentry_value_t (*sentry_event_function_t)(
sentry_value_t event, void *hint, void *user_data);
Expand Down Expand Up @@ -1215,10 +1215,10 @@ SENTRY_API void sentry_options_set_before_send(
*
* - does not work with crashpad on macOS.
* - for breakpad on Linux the `uctx` parameter is always NULL.
* - on Windows the crashpad backend can capture fast-fail crashes which
* bypass SEH. Since `on_crash` is called by a local exception-handler, it
* will not be invoked when such a crash happened, even though a minidump
* will be sent.
* - on Windows, the crashpad and native backends can capture fast-fail crashes
* which bypass SEH. Since `on_crash` is called by a local
* exception-handler, it will not be invoked when such a crash happened, even
* though a crash report will be sent.
*/
typedef sentry_value_t (*sentry_crash_function_t)(
const sentry_ucontext_t *uctx, sentry_value_t event, void *user_data);
Expand Down Expand Up @@ -1618,8 +1618,8 @@ SENTRY_API void sentry_options_add_view_hierarchy_n(
*
* This feature is currently supported by all backends on Windows. The
* `crashpad` and `native` backends capture screenshots from an out-of-process
* handler. Only the `crashpad` backend can capture screenshots of fast-fail
* crashes that bypass SEH (structured exception handling).
* handler. Only the `crashpad` and `native` backends can capture screenshots of
* fast-fail crashes that bypass SEH (structured exception handling).
*
* To decide per-event whether a screenshot should be captured, set a
* `before_screenshot` callback via `sentry_options_set_before_screenshot`.
Expand Down
Loading