Repository navigation
Add option to include debug images in Unreal Crash Reporter context - #1673
Open
tustanivsky wants to merge 1 commit into
Open
tustanivsky wants to merge 1 commit into
tustanivsky wants to merge 1 commit into
Conversation
Contributor
|
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds an experimental option to put the list of loaded modules into the Unreal Crash Reporter context as
debug_meta.images. These images are the first step towards server-side symbolication of crash reports that come without a minidump, once frames from UE's portable callstack (PCallStack) are extracted on the Relay side.Relay uses the
__sentrygame data value fromCrashContext.runtime-xmlas the event payload, so the images reach the event as-is. The list comes from sentry-native'ssentry_get_modules_listand is captured once during SDK initialization, so modules loaded later aren't included.Images are skipped when Crash Report Client runs out-of-process (the default in the Editor). In this mode UE copies all crash context data into a 32K-char shared buffer (
CR_MAX_DYNAMIC_BUFFER_CHARS) and truncates anything beyond it. With the Editor's long plugin list,__sentrygets cut off, and Relay rejects the whole report as invalid JSON.Key Changes
EnableCrashReporterDebugImagessetting (off by default, requiresEnableCrashReporterContextPropagation), labeled as experimental for Windows, Linux and macOS (native)FGenericPlatformSentryCrashReporter::SetDebugImages, which setsdebug_meta.imagesandplatformin the crash reporter contextInitCrashReporternow takes the settings object and skips images whenFGenericCrashContext::IsOutOfProcessCrashReporter()returns trueNote: when a minidump or Apple crash report is present, symbolication replaces the images with the modules from it, so the images are only useful for reports without one.
Documentation
Related Items