我从64位计算机上获得了64位w3wp进程的内存转储。什么时候,我在WinDbg中打开它并用psscor或sos进行分析,它运行正常。
但是,我正在尝试使用DebugAnalyzer工具。当我打开它并点击“运行分析!”按钮,这是我在对话框中看到的错误消息:
---------------------------
Debug Analyzer.NET v2
---------------------------
Unable to detect .NET Runtime (CLR) or Unsupported version
(Hint: Error loading symbol for mscorwks.dll or CLR 1.x)
Verify the following:
- Check if Symbol Path is correct
- You are debugging on the same architecture
(eg. x86 dump require x86 version of Debug Analyzer)
符号路径是正确的(WinDbg使用的是同一个),我使用的是64位版本的DebugAnalyzer。 w3wp进程使用的.NET版本是.NET 4.
我在我的机器上找不到mscorwks.dll
,但mscordacwks.dll
位于我的符号路径中。但是,由于WinDBG似乎不需要它,我不确定这是什么问题。
有没有人有使用此工具的经验或建议的故障排除步骤?
答案 0 :(得分:0)
消息Unable to detect .NET Runtime (CLR) or Unsupported version
似乎说明了一切。我会在其他.NET 4.0应用程序上尝试Debug Analyzer.NET v2,看它是否有效。另一条兴趣点是You are debugging on the same architecture
。您的w3wp.exe是32位还是64位进程?您使用的是相应版本的Debug Analyzer.NET吗?
答案 1 :(得分:0)
感谢您使用Debug Analyzer。可供下载的版本仅支持.NET v2.0内存转储。我相信你正在测试已加载.NET 4.0的内存转储。