You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
dsyme
changed the title
Emit async debug info into portable PDB format
Emit StateMachineMethod and StateMachineHoistedLocalScopes into portable PDB format
Aug 23, 2021
My understanding is that, among other things, this means there will not be a false double-stepping point when moving into a function that returns task { ... } , becaus it makes the debugging step directly into the MoveNext
Roslyn has a capability to emit special debug information for C#/VB async methods.
F# doesn't emit this information. This means we must, in some way, be missing out on a debug capability supported by .NET debugging.
Portable PDB spec is here: https://github.com/dotnet/runtime/blob/main/docs/design/specs/PortablePdb-Metadata.md
Also aplies to "StateMachine Local Scopes"
https://github.com/dotnet/roslyn/blob/3d8acbd585a75e9cdb3509623bf6c39ceb46b2c2/src/Compilers/Core/Portable/PEWriter/MetadataWriter.PortablePdb.cs
Here's an example of what they emit: https://github.com/dotnet/roslyn/blob/3d8acbd585a75e9cdb3509623bf6c39ceb46b2c2/src/Compilers/Core/Portable/PEWriter/MetadataWriter.PortablePdb.cs
The text was updated successfully, but these errors were encountered: