【问题标题】:How can DebugDiag analyse a dump file without having matching debugging dllsDebugDiag 如何在没有匹配调试 dll 的情况下分析转储文件
【发布时间】:2014-12-13 03:20:38
【问题描述】:

尝试分析转储文件时出现以下错误。

    0:000> !threads 
    The version of SOS does not match the version of CLR you are debugging.  
Please load the matching version of SOS for the version of CLR you are debugging.
CLR Version: 4.0.30319.1022 
SOS Version: 4.0.30319.34011 
Failed to load data access DLL, 0x80004005 Verify that 
1) you have a recent build of the debugger (6.2.14 or newer)
2) the file mscordacwks.dll that matches your version of clr.dll is 
   in the version directory or on the symbol path
3) or, if you are debugging a dump file, verify that the file 
   mscordacwks_<arch>_<arch>_<version>.dll is on your symbol path.
4) you are debugging on supported cross platform architecture as 
   the dump file. For example, an ARM dump file must be debugged
   on an X86 or an ARM machine; an AMD64 dump file must be
   debugged on an AMD64 machine.

You can also run the debugger command .cordll to control the debugger's load of mscordacwks.dll.  .cordll -ve -u -l will do a verbose reload. If that succeeds, the SOS command should work on retry.

If you are debugging a minidump, you need to make sure that your executable path is pointing to clr.dll as well.

我使用的是正确版本的 WinDbg。我也知道我机器上的 sos 版本与捕获转储文件的机器上的版本不同。所以我正在获取正确的版本,看看是否能解决问题。但是我的问题是,当我通过 DebugDiag Analyzer 打开这个转储文件时,它可以读取转储文件并为我提供正确的结果。我只是好奇,当我的机器上没有匹配版本的 sos 和 mscordacwks 时,谁能 DebugDiag 分析这个转储文件?

【问题讨论】:

  • 在 Microsoft.Diagnostics.Runtime.dll 中四处寻找,在我看来,它对 DAC 版本使用了更灵活的版本检查。验证单个版本号,而不是尝试在 SOS 版本号上获得精确匹配。这当然对你没有帮助。

标签: .net windbg sos clr4.0 debugdiag


【解决方案1】:

Debugdiag 可能正在使用 psscor4 或类似的东西。通常在 4.x 框架中,我们不需要匹配的版本,我不记得版本,但是如果您使用较旧的 windbg,那它就像一个魅力。 Sosex 和 psscor4 在这种情况下也会有所帮助。

【讨论】:

  • 这是错误的。 sos.dll 要求与 DAC 版本完全匹配。如果您在具有不同版本 DAC 的机器上创建了转储,那么当前安装在您的机器上的内容需要您在符号路径中有一个 mscordacwks___.dll。
  • 不适用于 clr,我每天都调试各种版本,唯一的问题是如果你有更高版本就可以了
  • 我希望有一个由 Microsoft 维护的存储库,在那里我可以简单地下载各种版本的调试 dll,而不是从客户端获取它。一旦安装了 .net 4.5,psscor4 就不再有用了,除非 Microsoft 发布了兼容的 psscor
  • 现在开始我们自己的云存储还为时不晚。我有一些我们可以上传到云空间
  • @johnsmith 很好的倡议,除了法律方面。无论如何,请参阅sos.debugging.wellisolutions.de
猜你喜欢
  • 2014-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-24
  • 2018-06-27
  • 1970-01-01
  • 2010-11-11
相关资源
最近更新 更多