Using the Microsoft Symbol Server with WinDbg

To use the Symbol Server Web site from within WinDbg, follow these steps:
  1. Start the Windows Debugger (WinDbg.exe).
  2. On the File menu, click Symbol File Path.
  3. In the Symbol path box, type the following command:
    SRV*your local folder for symbols*http://msdl.microsoft.com/download/symbols
    where your local folder for symbols is the folder in which you copy your local symbol cache. The debug symbols are downloaded to this location.

    Note You can point to any local path or share that your computer can reach; it does not have to be a location on the computer's hard disk.
Alternatively, you can also use the .sympath command at a command prompt to set the symbol path.

You can combine the symsrv syntax with other symbol paths. For example, use the following syntax to specify two or more symbol paths:
f:\BusObjSymbols;SRV*f:\localsymbols*http://msdl.microsoft.com/download/symbols
This syntax separates the symbol paths with a semicolon.

When you start to debug a crash dump file or an application, the Windows Debugger checks whether the symbol information for a module that it loads is in the local folder. If the symbol information of the module is not located in the local folder, WinDbg tries to download the appropriate symbol file or files from the Symbol Server.

If you use the same local cache when you debug an application on a computer that has different file versions, symbols for the different versions are downloaded and stored with the first symbols. The SymStore format stores files according to the time stamp and the size of the image (or checksum). As a result, symbols from different product versions can coexist side by side. (SymStore.exe is a utility from the Debugging Tools for Windows package that generates a symbol server. For more information, see the product documentation.)

Because it may take time to download symbol files, keep in mind that the debugger may appear to stop responding (hang) the first time that you debug an application. This occurs because most of the symbol files for the system DLLs (such as Ntdll.dll, Kernel32.dll, and others) must be downloaded.
Comments