Welcome to MSDN Blogs Sign in | Join | Help

Use the symbol server

Below you see the sad state of affairs that comes from not using the public symbol server:

No Symbol Server

This is not the callstack you want to see.  With only exports loaded for ntdll.dll you are missing the whole show.  What you need is the public symbol server! (Don't bother clicking on this link, use this URL in Symbol settings dialog in VS, not internet Explorer: "http://msdl.microsoft.com/download/symbols").

Symbol Settings

If you add the public symbol server, be sure to cache those symbols locally. If you don't use a cache devenv will hit the network on each module load.  Below you can see the improved callstack, and the heading in the modules window that shows the public symbols are 'stripped' of source information.

With Symbol Server everything is better

From other tools that support symbol server you will need a slightly more verbose syntax as the cache and the server are specified on one line:"srv*c:\symcache*http://msdl.microsoft.com/download/symbols;"

Published Sunday, August 28, 2005 6:07 PM by SteveJS
Filed under: ,

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# re: Use the symbol server

The images above all point to paths on your local machine, so that only you can see them....
Sunday, August 28, 2005 10:47 PM by Michael S. Kaplan

# re: Use the symbol server

Not only were the images originally pointing to my local machine. When I fixed it by putting them on Flickr I put them in the wrong order! I want to thank both Mich and the kindly person I know only by email address who pointed out that I had reversed my images.
Saturday, September 03, 2005 9:20 PM by SteveJS

# re: Use the symbol server

Thanks Steve - very useful!
Friday, November 11, 2005 6:31 PM by dsyme

# re: Use the symbol server

I've been using this since VS 2005 came out. However, I have a problem. Our application (an old C++ app) uses Oracle which loads quite a few DLLs. Since there are no PDB files for the Oracle DLLs, they are not in the cache. So, VS tries to find them on the symbol server. This takes FOREVER! I've worked around the problem by turning off the use of the symbol server (still using the cached symbols). This works as long as I have all the symbols cached that I need. Is there a better workaround? Thanks!
Thursday, July 20, 2006 6:34 PM by David

Leave a Comment

(required) 
required 
(required) 

  
Enter Code Here: Required
 
Page view tracker