-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Introduce a way to opt-out of source info in Diagnostics StackFrame #34910
Comments
Added to Linker project which I guess is how we keep track of all such work. |
I don't think this should be feature switch in the design sense as above but illinker property which controls debugging support. |
@eerhardt I'm marking this as 5.0 so it doesn't disappear from the radar, please change milestone to Future if you feel like this is not important for 5.0 |
@marek-safar @vargaz - I just discovered that this code isn't used on Mono's CoreLib. Instead, I see that Mono has a native C reader for PPDBs. runtime/src/mono/netcore/System.Private.CoreLib/src/System/Diagnostics/StackFrame.Mono.cs Lines 51 to 53 in b24e9cd
Is this the long-term solution for Mono? I'm wondering how important it is for us to solve the above Diagnostics StackFrame issue in .NET 5. If Blazor isn't going to be affected by it, it might not be critical to solve. |
I think we'll investigate using managed ppds reader but we might not be able to do it for .NET5 but long term this looks attractive to me. #32023 is not relevant to size sensitive workloads and will become only once the logic is moved to shared SPC. What is however still relevant to us is the "forced" StackTraceSymbol persistence in S.D.S which I'm not sure why it's still there |
I'll look into removing it today. Thanks for the pointer. |
This is not necessary for Blazor WASM in 5.0. Moving to 6.0. |
Moving to 'Future' as this isn't high priority for 6. |
This should be tagged on |
The source line info support for System.Diagnostics.StackTrace/StackFrame comes with a noticeable cost for workloads which are size sensitive and don't contain PDB information anyway.
With change #32023, we added a
PreserveDependency
attribute here:runtime/src/coreclr/src/System.Private.CoreLib/src/System/Diagnostics/StackFrameHelper.cs
Lines 87 to 93 in 768c6fc
As noted in the PR, the change added ~200K to the "Console Hello World" app, bringing in the following assemblies, which were not needed before:
We should consider adding a feature switch (dotnet/designs#99) or similar functionality to allow app developers to opt-out of this behavior.
cc @vitek-karas @jkotas @stephentoub @marek-safar
The text was updated successfully, but these errors were encountered: