我一直在使用 CLRMD 加载/分析使用 DbgEng 的故障转储(将 IDebuggerInterface 转换为 IDebugControl6)。我能够执行与 WinDBG 中相同的命令。大多数功能都按预期工作,但如果我指定“!analyze -v”,我会注意到输出有所不同。
在 WinDBG 中,它能够完全解析 FAILURE_SYMBOL_NAME,但是当通过 CLRMD 执行相同操作时,它会显示 myapp.exe!unknown_error_in_process(而不是 System.Windows.Forms.dll!System.Windows.Forms.Control.get_Handle)。我使用完全相同的符号设置。
我想使用 CLRMD,因为它似乎是一种更现代/更灵活的方法(与解析 WinDBG 日志文件的输出相比),但我担心这些差异。
这似乎是一个很好的线索,但不知道如何解决它:
“无法加载图像 C:\Windows\assembly\NativeImages_v4.0.30319_64\System.Windows.Forms\1afec06f634f3b2469d3ff28cf573ba5\System.Windows.Forms.ni.dll,Win32 错误 0n2 *** 警告:无法验证系统的校验和。 Windows.Forms.ni.dll"
有任何想法吗?