2

我有一个来自 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 似乎不需要它,我不确定这是否是问题所在。

是否有人有使用此工具的经验或建议的故障排除步骤?

4

2 回答 2

0

感谢您使用调试分析器。可供下载的版本仅支持 .NET v2.0 内存转储。我相信您正在测试已加载 .NET 4.0 的内存转储。

于 2013-04-23T20:07:00.523 回答
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 吗?

于 2012-12-14T14:26:08.110 回答