我正在尝试通过分析DebugDiag 2.1.0.7创建的转储来调试由.NET 4.6 MVC5应用程序引起的某些CPU问题。我什至在加载自定义.pdb符号后仍然发现,在生成的报告中我仍然没有得到stacktrack信息:

performance - DebugDiag不提供.NET 4.6 MVC5应用程序的堆栈跟踪-LMLPHP

报告显示的错误是

Type: Microsoft.Diagnostics.Runtime.ClrDiagnosticsException
Message:  This runtime is not initialized and contains no data.

performance - DebugDiag不提供.NET 4.6 MVC5应用程序的堆栈跟踪-LMLPHP

我注意到DebugDiag 1.2版不支持.NET 4.0+。 DebugDiag 2.1可能不支持.NET 4.6吗?

最佳答案

我的CPU问题归结于我在错误的位置初始化的第三方软件。它需要在Application_Start()中初始化,而我是在Application_BeginRequest()中进行初始化。哎呀!如果您遇到这种情况,并且像我一样忙于尝试在生产应用程序中调试问题,请确保 checkout Global.asax以获取类似信息。

我猜想DebugDiag的StackTrace问题与应用程序生命周期中导致CPU问题的代码发生的位置有关。

关于performance - DebugDiag不提供.NET 4.6 MVC5应用程序的堆栈跟踪,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32916417/

10-13 06:15