Skip to content

Add option to include debug images in Unreal Crash Reporter context - #1673

Open
tustanivsky wants to merge 1 commit into
mainfrom
feat/crash-reporter-debug-images
Open

tustanivsky wants to merge 1 commit into
mainfrom
feat/crash-reporter-debug-images

Conversation

@tustanivsky

@tustanivsky tustanivsky commented Oct 29, 2026 •

Copy link
Copy Markdown
Collaborator

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 __sentry game data value from CrashContext.runtime-xml as the event payload, so the images reach the event as-is. The list comes from sentry-native's sentry_get_modules_list and 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, __sentry gets cut off, and Relay rejects the whole report as invalid JSON.

Key Changes

  • Added EnableCrashReporterDebugImages setting (off by default, requires EnableCrashReporterContextPropagation), labeled as experimental for Windows, Linux and macOS (native)
  • Added FGenericPlatformSentryCrashReporter::SetDebugImages, which sets debug_meta.images and platform in the crash reporter context
  • InitCrashReporter now takes the settings object and skips images when FGenericCrashContext::IsOutOfProcessCrashReporter() returns true

Note: 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

@github-actions

Copy link
Copy Markdown
Contributor
Messages
📖 Do not forget to update Sentry-docs with your feature once the pull request gets approved.

Generated by 🚫 dangerJS against a841810

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant