In our post “What are Symbols Files?”, we discussed what symbols were and why they were important in debugging. Today, we’re going to take a look at how to set up your symbols for debugging. Setting up the symbols can be a daunting exercise. This is especially true if you consider the fact that one module has several different symbol packages – one for each release version of the module. The debugger has to be able to locate each of the symbol files that corresponds to the correct released version. There are two pieces of information used by the debugger to return the correct information – the location of the symbols path and the headers within the module itself that it uses to validate the symbol files.
A symbol path is nothing more than a set of locations that tell the debugger where to look for symbols. There are a couple of ways you can locate the symbol path in the debugger. The first is to use File –> Symbol File Path … from the main menu in the debugger.
As you can see, there are two file paths listed – one on my C: drive and one on my Z: drive – in both cases, in a folder called Symbols. The second method is to use the .sympath command as shown below:
2: kd> .sympath
Symbol search path is: c:\symbols;z:\symbols
- Microsoft KB 311503: Use the Microsoft Symbol Server to obtain debug symbol files
- Debugging Tools and Symbols: Getting Started
- MSDN: Symbol Servers and Symbol Stores