DebugDiag没有在.NET 4下显示.NET堆栈信息

Jak*_*keL 7 .net c# debugdiag

感觉就像这可能是一个简单的答案,但我一直无法找到它.

有问题的场景是C#.NET控制台应用程序.

我通常使用DebugDiag 1.2来检查来自我们经历的挂起的.dmp文件 - 通常是线程锁定问题.它们是使用DebugDiag的"Create Full Userdump"选项创建的.

我最近开始编译面向.NET 4的应用程序,准备开始使用.NET 4的一些功能.但是,我注意到在使用DebugDiag分析这些.dmp文件时,缺少所有.NET堆栈信息.

如果我将CLR目标更改回.NET 3.5,并从新的可执行文件中捕获.dmp,那么.NET调用堆栈信息就在那里.

当我查看DebugDiag的输出时,我看到一条说明:

CLR信息

CLR版本= 4.0.30319.17929 CLR调试器扩展= C:\ Program Files\DebugDiag\Exts\psscor4.dll

.NET线程摘要

无法请求ThreadStore

我认为"无法请求ThreadStore"是问题的关键,因为.NET 3.5 .DMP文件(使用psscor2.dll)报告"Threads Summary"标题下的所有线程信息.

是.dmp缺少信息的问题,还是DebugDiag由于某种原因无法检索它?

Jak*_*keL 3

最终,这个问题自行解决了。我向 Microsoft 发送了有关此问题的问题,他们说 DebugDiag 1.1 不支持 .NET 4+。他们不久前发布了 v1.2,它再次发挥了魅力:

http://www.microsoft.com/en-us/download/details.aspx?id=26798