I have an application that sometimes causes a BSOD on a Win XP machine. Trying to find out more, I loaded up the resulting *.dmp file (from C:\Windows\Minidump), but get this message when in much of the readout when doing so:

  • Symbols can not be loaded because symbol path is not initialized. *
  • *
  • The Symbol Path can be set by: *
  • using the NTSYMBOL_PATH environment variable. *
  • using the -y argument when starting the debugger. *
  • using .sympath and .sympath+ *

What does this mean, and how do I "fix" it?

+3  A: 

you actually need to either download the symbols to your computer, or configure it to download as you go if you are online while debugging.

Here's the link that talks about this in detail:


Quick answer is to

c:\> set _NT_SYMBOL_PATH=SRV*C:\WINDOWS\Symbols*

before starting windbg.

+2  A: 

I usually go to the System control panel, then Advanced tab, then Environment. You can then add the requisite _NT_SYMBOL_PATH variable. Then you don't have to do anything on the command-line before running WinDbg.

The setting of srv*C:\Windows\Symbols* as suggested by staffan is fine. I usually prefer to use my own profile for storing symbols though (so that I don't need to edit the permissions for C:\Windows\Symbols, since I intentionally run as a limited user, for good security hygiene). Thus (in my case) my _NT_SYMBOL_PATH is srv*C:\Documents and Settings\cky\symbols*

Hope this helps. :-)

Chris Jester-Young
+1  A: 

As @Vaibhav noted, you actually need to download the symbols and configure windbg to use them.

Also note the following: !sym noisy -- Activates noisy symbol loading lm v -- Use with "m" parameter to look at information for a loaded module. lme D sm - List all modules w/o symbols.

Kris Kumler

Quicker answer:


But it only affects the current windbg/ntsd/cdb/kd.

Dan T