Reputation: 946
Using WinDbg
to debug a .NET dump, command !clrstack
gets a warning:
*** WARNING: Unable to verify checksum for PresentationFramework.ni.dll.
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
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