1.7 KiB
Stack traces are missing source information for frames with debug information in the Portable PDB format when running on .NET Framework 4.7.1
Symptoms
An application that formats stack traces is missing source information for some or all frames. This includes stack traces formatted via System.Exception.ToString(), System.Exception.StackTrace and System.Diagnostics.StackTrace.ToString(). The frames missing source information reside in assemblies that have pdbs in the Portable PDB format present on disk.
Cause
The .NET Framework 4.7.1 added support for detecting and parsing the Portable PDB file format to show file and line number information in stack traces. However, due to an implementation issue, the feature had an unacceptable performance impact and Microsoft intentionally disabled it.
Workarounds
- If you control the build process for the problematic assemblies you may be able to configure it to generate the classic Windows PDB format instead.
Resolution
A fix is anticipated in .NET Framework 4.7.2, in the near future, that restores Portable PDB functionality with greatly improved performance.