Architecture: all
OS: Windows
We have recently found out that Crossgen2-produced PDB files contain an invalid GUID (not matching the one in the produced PE executable) and no actual symbol information. JanK tracked this down to the following commit,
https://github.com/dotnet/runtime/pull/84643/files#diff-9e985fc04e2df61f33c3d19bb5d1a0de0188a8343339bfc2f8c977c56d1f60f2L148
which changed management of the refcounted COM object NGenPDBWriter in such a way that it never got fully released and so it didn't flush its various in-memory changes to the PDB file. I have already fixed the issue in the .NET 9 live runtime tree with the following PR:
#96518
The purpose of this tracking issue is to assist backport of the fix to .NET 8 servicing,
#96566
as it constitutes a regression affecting various profiler scenarios.
Thanks
Tomas