diff --git a/windows/src/ext/sentry/crashpad_handler.exe b/windows/src/ext/sentry/crashpad_handler.exe index 8e3c5737eb..c5df889dc1 100644 Binary files a/windows/src/ext/sentry/crashpad_handler.exe and b/windows/src/ext/sentry/crashpad_handler.exe differ diff --git a/windows/src/ext/sentry/sentry.dll b/windows/src/ext/sentry/sentry.dll index a88dbd9fba..8cc76d2242 100644 Binary files a/windows/src/ext/sentry/sentry.dll and b/windows/src/ext/sentry/sentry.dll differ diff --git a/windows/src/ext/sentry/sentry.h b/windows/src/ext/sentry/sentry.h index 427a7fe482..3c31c081cb 100644 --- a/windows/src/ext/sentry/sentry.h +++ b/windows/src/ext/sentry/sentry.h @@ -320,6 +320,7 @@ typedef struct sentry_ucontext_s { #ifdef _WIN32 EXCEPTION_POINTERS exception_ptrs; #else + int signum; siginfo_t *siginfo; ucontext_t *user_context; #endif @@ -663,6 +664,13 @@ SENTRY_API sentry_user_consent_t sentry_user_consent_get(void); */ SENTRY_API sentry_uuid_t sentry_capture_event(sentry_value_t event); +/* + * Captures an exception to be handled by the backend. + * + * This is safe to be called from a crashing thread and may not return. + */ +SENTRY_EXPERIMENTAL_API void sentry_handle_exception(sentry_ucontext_t *uctx); + /* * Adds the breadcrumb to be sent in case of an event. */ diff --git a/windows/src/ext/sentry/sentry.lib b/windows/src/ext/sentry/sentry.lib index 117b6ef9c1..3bda64d366 100644 Binary files a/windows/src/ext/sentry/sentry.lib and b/windows/src/ext/sentry/sentry.lib differ diff --git a/windows/src/ext/sentry/sentry.pas b/windows/src/ext/sentry/sentry.pas index ec93481d5b..eb6e192c56 100644 --- a/windows/src/ext/sentry/sentry.pas +++ b/windows/src/ext/sentry/sentry.pas @@ -1,6 +1,6 @@ {$D-} // Don't include debug information // Delphi translation of sentry.h -// Sentry Native API 0.2.2 +// Sentry Native API 0.2.2 @ eb73904a8700fcf67e632a8c7d71174d214a344c // https://github.com/getsentry/sentry-native unit sentry; @@ -383,6 +383,7 @@ type {$IF DEFINED(MSWINDOWS)} exception_ptrs: EXCEPTION_POINTERS; {$ELSE} + signum: Integer; siginfo: siginfo_t; user_context: ucontext_t; {$ENDIF} @@ -847,6 +848,15 @@ function sentry_capture_event( event: sentry_value_t ): sentry_uuid_t; cdecl; external sentry_dll delayed; +// +// Captures an exception to be handled by the backend. +// +// This is safe to be called from a crashing thread and may not return. +// +procedure sentry_handle_exception( + uctx: psentry_ucontext_t +); cdecl; external sentry_dll delayed; + // // Adds the breadcrumb to be sent in case of an event. // diff --git a/windows/src/ext/sentry/sentry.x64.dll b/windows/src/ext/sentry/sentry.x64.dll index 29d8e45d91..49f5ac527b 100644 Binary files a/windows/src/ext/sentry/sentry.x64.dll and b/windows/src/ext/sentry/sentry.x64.dll differ diff --git a/windows/src/ext/sentry/sentry.x64.lib b/windows/src/ext/sentry/sentry.x64.lib index c1ccd9dc00..8217be7e98 100644 Binary files a/windows/src/ext/sentry/sentry.x64.lib and b/windows/src/ext/sentry/sentry.x64.lib differ