我正在尝试通过分析由 DebugDiag 2.1.0.7 创建的转储来调试由 .NET 4.6 MVC5 应用程序引起的一些 CPU 问题。我发现即使在加载自定义 .pdb 符号后我仍然没有在生成的报告中获得堆栈跟踪信息:
报告显示的错误是
Type: Microsoft.Diagnostics.Runtime.ClrDiagnosticsException
Message: This runtime is not initialized and contains no data.
我注意到 DebugDiag 1.2 版不支持 .NET 4.0+。 DebugDiag 2.1 可能不支持 .NET 4.6 吗?
最佳答案
我的 CPU 问题归结为我在错误位置初始化的第三方软件。它需要在 Application_Start()
中初始化,而我在 Application_BeginRequest()
中进行初始化。哎呀!如果您遇到这种情况,并且正像我一样手忙脚乱地尝试调试生产应用程序中的问题,请确保检查 Global.asax 以了解此类问题。
我猜测 DebugDiag 的 StackTrace 问题与导致 CPU 问题的代码在应用程序生命周期中发生的位置有关。
关于performance - DebugDiag 没有为 .NET 4.6 MVC5 应用程序提供堆栈跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32916417/