Skip to content
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

Meta issue about Symbolication and Source Context #2233

Closed
bruno-garcia opened this issue Mar 13, 2023 · 2 comments
Closed

Meta issue about Symbolication and Source Context #2233

bruno-garcia opened this issue Mar 13, 2023 · 2 comments

Comments

@bruno-garcia
Copy link
Member

bruno-garcia commented Mar 13, 2023

This issue hopes to summary and collect all things related to:

  1. Symbolication (line numbers and paths done server side)
  2. Source Context (through source bundle, embedded source or source link)

In December version 3.25.0 the SDK started sending debug_meta:

With this and related changes in the backend, we got support for server side symbolication. Where clients without the pdb sitting next to the exe/dll get line numbers and file paths for Portable PDB format.

That also adds support for nuget.org and Microsoft symbol server. Which is now added by default to all new Sentry projects. With this, we get line numbers and paths for framework libraries. The .NET Runtime itself sends data to the Microsoft symbol server. Sentry SDK itself sends to nuget.org:

We considered not sending debug_meta:

On 3.29.1 through the following PR we can get source context for .NET Framework on Windows PDB (but no line numbers/path server side, see above).

Known issues

In the process we found out we don't support Windows PDBs for .NET (we do for native Windows apps):

.NET MAUI Android specifically has a source context issues:

AOT support

iOS runs on AOT and that's not supported at the moment (aka: MonoAOT)

.NET Native AOT (new .NET AOT, not UWP ".NET Native"): Support is not required/planned yet. Shouldn't be error'ing out with processing errors, though.

SourceLink: Stack Trace Linking and Source Context

Work to rely on sourcelink to fetch sources and add as source context was done but the feature isn't completed yet. Related work:

The changes in symbolic could add the URLs to the event payload so we can render 'stack trace linking'.
Reference PRs in Sentry to add Stack Trace Linking to other platforms:

We can send sourcelink information from the client, without the need to upload symbols. This will reach a lot more devs since setting up symbol upload is still not in the main onboarding process.
Experiment done in 2019:

@mattjohnsonpint
Copy link
Contributor

mattjohnsonpint commented Jun 12, 2023

Update:

Source link is fully working for frames marked "in_app": true. However, we mostly need source link to work for system frames, not in-app frames. New issue opened to track this change request in Symbolicator:

@jamescrosswell
Copy link
Collaborator

@bruno-garcia it looks like the only stuff left on the list is related to AOT, which I think would have to wait until v4.0 right?

Can we close this meta issue?

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

No branches or pull requests

3 participants