无法验证PresentationFramework.ni.dll的校验和

时间:2018-03-01 09:13:27

标签: windbg

使用WinDbg调试.NET转储,命令!clrstack会收到警告:

*** WARNING: Unable to verify checksum for PresentationFramework.ni.dll.

enter image description here

我已将符号路径设置为SRV*D:\MsSymbols*http://msdl.microsoft.com/download/symbols。如何解决此警告以及如何加载匹配的SOS和CLR?

1 个答案:

答案 0 :(得分:1)

*.ni.dll是本机映像,即由ngen.exe为您的PC预编译的.NET DLL。由于这是在您的计算机上编译的,因此不会有从Microsoft服务器下载的符号。无需担心。

关于SOS和MSCorDacWks的版本,它有点依赖。

a)您使用.load x:\path\to\sos.dll加载了特定版本。在这种情况下,请尝试使用.loadby sos clr加载SOS。如果有效,你很幸运。

b)如果您已经加载了.loadby sos clr的SOS,则已在其他计算机上创建了故障转储。在这种情况下,您需要获得SOS和MSCorDacWks的确切版本。这可以通过

来实现

b.1)运行.unload sos!analyze -v。如果经常下载正确的SOS版本并将其存储在符号路径中的某个位置。

b.2)转到机器并手动查找文件

b.3)使用MsCorDacWks Collector并在该机器上运行它。它将获取所有可用版本的SOS和MSCorDacWks。免责声明:我是该工具的作者。

b.4)如果机器不再可用,请查看我的SOS archive。这次你不走运,但至少有一个非常接近的版本4.7.2116。免责声明:我是该档案的维护者。