One of the first things you will want to do after installing visual studio is to set it up to automatically pull down the correct symbols for system components when debugging. You do this by configuring Visual Studio to use the Microsoft Symbol Sever.
In VS 2005, do the following:
- Open Visual Studio. Goto Tools->Options
- Expand the “Debugging“ node
- Click on the “Symbols“ node under “Debugging“
- Click on the icon that looks like the new folder icon to add a new .pdb location
- Type the following for the location “smysrv*symsrv.dll*c:symbols*http://msdl.microsoft.com/downloads/symbols“
- In the Cache symbols from symbol servers to this directory, enter the local path you used in step 5. In this case “c:symbols“
- Click Ok.
To test it out, try attaching to some windows process like iexplore.exe (if you have IE running). Goto debug->windows->modules. You should now see that symbols are loaded for all the system dlls and iexplore.exe. You can also open the local path used in step 5 and you should see folders for all the dlls that have been debugged so far.
You only need to run against the symbol server initially until it pulls down all the symbols you care about. Once that’s done, go back to the options dialog and unclick the PDB location. As long as you leave the “cache location” entry filled in, VS will continue to pull from the cached images… very quickly.
Obviously the cache will need to be reprimed if your system DLLs get updated by anything. VS should see that the PDBs are out of date and avoid misrepresenting the stack, at least.