Open MichaCo opened 7 months ago
Never mind, I had "Enable Just My Code" on in VS, without that debugging into those code paths kinda works.
I can debug into the Rent
implementation.
Anything which goes one step further down into the next level of internal implementations does not work though, e.g.
F12 into Utilities.SelectBucketIndex
shows an error message and doesn't work
Although the code is in the same library: https://github.com/dotnet/runtime/blob/4468342c374c7889742c7392c8a1713161bd24ff/src/libraries/System.Private.CoreLib/src/System/Buffers/Utilities.cs#L13
This seems more a debugger issue. Source Link lets the debugger know how to download the source files referenced by the PDB, but it does not comment on how the debugger should parse the files. For that, the debugger should use the other information in the portable PDB.
I get the impression that, if the debugger supports the programming language of the source files, then it could use the PDB for F12 to find the source code of a method definition:
#line
directives, though.global import
).However, F12 finding the source code of a type definition looks harder, because types do not have sequence points, and the specification of the CustomDebugInformation table doesn't mention anything that could be used for navigating from a TypeDef to a Document.
Is there a way to enable/support debugging and stepping through internal code in sourcelink?
As an example, the actual implementation of the shared array pool is in an internal class. F12 into
SharedArrayPool
does nothing though.Debugging and stepping into
ArrayPool<byte>.Shared.Rent(1000);
also does not work and the debugger just steps overRent(..)
as this is an abstract method.Thanks