-
-
Notifications
You must be signed in to change notification settings - Fork 215
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
feat: Capture Debug Images and StackFrame fields for Portable PDB symbolication #1785
Conversation
Instructions and example for changelogPlease add an entry to Example: ## Unreleased
- Capture Debug Images and StackFrame fields for Portable PDB symbolication ([#1785](https://github.com/getsentry/sentry-dotnet/pull/1785)) If none of the above apply, you can opt out of this check by adding |
df29039
to
ddddffd
Compare
Thanks for all your hard work on this! I've merged in |
This adds new protocol fields to StackFrame and DebugImage that are needed for server side Portable PDB symbolication. The StackTraceFactory is also extended in such a way that it collects referenced DebugImages which are then later added to the event.
I've rebased this PR but in the end decided to replace the PR as the approach may end up different, due to the lack of default interface method support this PR relied on. Also, want to keep the new PR as a draft to avoid spamming everyone before it's ready. replaced by #2050 |
This adds the new event properties defined in RFC 0013, namely InstructionAddress / FunctionId + Relative Indexing, and a list of
pe_dotnet
DebugImages.The new information allows symbolicating .NET stack traces on symbolicator, using uploaded Portable PDB debug files.
Example events that were captured with this PR and symbolicated serverside:
The second event might be an example where it could be possible to load debug symbols from the Microsoft Symbol Server which is not possible yet, but we might add this later.
I open this PR with the hope of either delegating it to the .NET team, or at the very least get some dedicated mentoring to finish it up.
The problem I see right now are: