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

Embedded PDB causes VS to jump to Shouldly internals instead of user test code when debugging assertions #769

Open
jnm2 opened this issue Feb 27, 2021 · 6 comments · May be fixed by #772
Open
Labels

Comments

@jnm2
Copy link
Collaborator

jnm2 commented Feb 27, 2021

This is caused by VS not following the "Just My Code" setting and treating any DLL that contains embedded PDB as the user's code.

We had the same problem at NUnit and decided to go the route of the new recommended snupkg symbol package format.

https://docs.microsoft.com/en-us/dotnet/standard/library-guidance/nuget#symbol-packages
https://docs.microsoft.com/en-us/nuget/create-packages/symbol-packages-snupkg
https://devblogs.microsoft.com/nuget/improved-package-debugging-experience-with-the-nuget-org-symbol-server/

@SimonCropp
Copy link
Contributor

this seems like a bug in VS. and not something libraries should need to work around

@jnm2
Copy link
Collaborator Author

jnm2 commented Aug 12, 2022

I agree, and yet practically speaking it's so nasty on a regular basis.

@SimonCropp
Copy link
Contributor

yep but you should be raising it with the VS team. given many OSS projects are shipping with embedded symbols, shouldly no using embedded symbols will only slightly mitigate the issue

@jnm2
Copy link
Collaborator Author

jnm2 commented Aug 13, 2022

Debugging a test stops you in an inappropriate stack frame whenever an assertion fails. That happens at a rate far beyond any other library I can think of in the course of any kind of debugging (app or tests).

@SimonCropp
Copy link
Contributor

all the more reason to raise a bug with the VS team so they can fix it asap

@jnm2
Copy link
Collaborator Author

jnm2 commented Aug 13, 2022

That's for sure. A both-and strategy solves the immediate need, and also helps people who don't stay on (or can't use) the latest VS all the time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants