views:

54

answers:

3

I am trying to debug a minidump crash dump. How can I get to know the OS so that I may download related Microsoft Symbols?

I am using Visual studio and windbg.

+2  A: 

The dump contains enough information so that the symbol server client will load download and use the symbols that match the executable and dlls.

I.e. define environment variable _NT_SYMBOL_PATH to something like:

symsrv*symsrv.dll*h:\Symbols*http://referencesource.microsoft.com/symbols*http://msdl.microsoft.com/download/symbols

where h:\symbols is a writeable folder. The debugging tools will do the rest.

Note:

  • You need to do it this way because patches, including service packs, also change the version of the symbols.
  • The first download location is used for .NET with source server, if not working with .NET that can be removed.
Richard
+1. Use of Symbol Servers is one of the most productive things you can do if you're involved in analysing crash dumps. http://support.microsoft.com/kb/311503
the_mandrill
A: 

vertarget will tell you the target machine of the minidump.

Alex
A: 

I haven't seen that syntax for the MS symbol server before, I usually just do:

.symfix h:\symbols .reload

From within the debugging session. It automatically sets your symbol search path to point to the symbol server so you don't have to worry about remembering the path.

-scott

snoone