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
However, ModuleDefinition.ReadSymbols appears to only look at the first entry in the Debug Directories and it throws an exception when the first entry doesn't match the portable pdb's Guid. See the following code:
No problem. You can use any dll that is in the .NET Core's runtimepack for win-x64. I found it using System.Private.Xml, so I've attached that assembly and its corresponding portable pdb in the following .zip:
See dotnet/linker#1620 (comment) for more context.
Using the following code:
When the
AssemblyDefinition assembly
points to a crossgen'd assembly, fails to load the symbols in a portable pdb file.The reason it fails is because a cross gen'd assembly's Debug Directories has two entries:
And the 2nd entry is the portable pdb entry.
However,
ModuleDefinition.ReadSymbols
appears to only look at the first entry in theDebug Directories
and it throws an exception when the first entry doesn't match the portable pdb's Guid. See the following code:cecil/Mono.Cecil/ModuleDefinition.cs
Lines 1060 to 1064 in 0a2f294
and
cecil/Mono.Cecil.Cil/PortablePdb.cs
Lines 68 to 100 in ab5075b
Cecil should continue iterating the list and discover the 2nd entry and match it.
The text was updated successfully, but these errors were encountered: