> ## Content Index
> Fetch the complete content index at: https://blogs.remobjects.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Symbols, Please!
- URL: https://blogs.remobjects.com/2005/06/16/symbols-please/
- Published: 2005-06-16T16:21:59.000Z
- Updated: 2018-08-22T06:17:36.000Z
- Author: marc hoffman
- Tags: #Import 2026-08-17 20:17

Visual Studio 2005 provides many new debugging features that come in handy for Chrome  
and C# developers alike, and one of the coolest, in my opinion, is the (undocumented)  
Symbol Server support.

Microsoft is running a Symbol Server that provides .PDB debug symbol files for a  
wide variety of Microsoft-deployed .exe and .dll files, from the core Windows operating  
files such as user32.dll, kernel32.dll etc., over the System.\* dlls of the .NET  
framework to even the Visual Studio development environment itself. The advantage  
of the symbol server to the [downloadable symbol packages](http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx?ref=blogs.remobjects.com) is that the symbol server is kept up to date whenever files  
change – for example via Service Packs or automatic updates.

While even the availability of these symbols itself seems to be a well-kept public  
secret, what’s even less know is that Visual Studio 2005 introduces support for  
automatically downloading symbol files as they are needed – making sure that wherever  
your debugging takes you, you’ll have the right PDBs to guide the way.

Setting up Visual Studio to use the symbol server is very simple: Chose *Tools|Options*  
to open the Options dialog, then navigate to *Debugging|Symbols* in the treeview.  
Click the *New Folder* button in the top right corner, and enter the following  
URL as *Symbol Location*: [**http://msdl.microsoft.com/download/symbols**](http://msdl.microsoft.com/download/symbols?ref=blogs.remobjects.com).  
Next, go to the *Cache Symbols from symbol server to this directory* edit box  
and enter a path of your choice (the generally well-accepted default is **C:\\Symbols**).  
Click *Ok* to accept your changes.

Next time you start a debugging session, you will notice that Visual Studio automatically  
downloads the necessary .PDB files from the server, and will provide you with proper  
information such as method names in your callstacks – for OS functions, core .NET  
Framework classes, or – if like me you’re spending a lot of time debugging Visual  
Studio itself – even the IDE code. (For some .dlls the download might take a while,  
as .PDB files can get rather huge – but Visual Studio will cache local copies of  
the files in the folder you specified above, so it will only download each file,  
once).

Happy Debugging!

![Callstack with Symbols](https://blogs.remobjects.com/blogs/media/CallstackWithSymbols.png)