Iron
Iron

Reputation: 946

Unable to verify checksum for PresentationFramework.ni.dll

Using WinDbg to debug a .NET dump, command !clrstack gets a warning:

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

enter image description here

I have set the symbol path to SRV*D:\MsSymbols*http://msdl.microsoft.com/download/symbols. How to solve this warning and how to load the matching SOS and CLR?

Upvotes: 1

Views: 1967

Answers (1)

Thomas Weller
Thomas Weller

Reputation: 59575

The *.ni.dll are native images, i.e. a .NET DLL that has been pre-compiled by ngen.exe for your PC. Since this was compiled on your machine, there won't be symbols for download from the Microsoft server. Nothing to worry about.

Regarding the version of SOS and MSCorDacWks, it depends a little bit.

a) you were loading a specific version using .load x:\path\to\sos.dll. In that case, try loading SOS with .loadby sos clr. If that works, you were lucky.

b) if you have loaded SOS with .loadby sos clr already, you have created the crash dump on a different machine. In that case you need get the exact version of SOS and MSCorDacWks. This can be achieved by

b.1) run .unload sos and !analyze -v. If often downloads a correct SOS version and stores it somewhere in the symbol path.

b.2) go to the machine and find the files manually

b.3) use MsCorDacWks Collector and run it on that machine. It will grab all available versions of SOS and MSCorDacWks. Disclaimer: I'm the author of that tool.

b.4) If the machine is no longer available, have a look at my SOS archive. You're unlucky this time, but there's at least a very close version 4.7.2116. Disclaimer: I'm the maintainer of that archive.

Upvotes: 2

Related Questions