This step-by-step article describes how to use the Visual
Studio .NET debugger with a symbol server to load symbols from the Microsoft
Click the Play
button to view this streaming media
You must have symbol information when you
debug applications that may stop responding (hang or crash). Symbol files
provide a footprint of the functions that are contained in executable files and
dynamic-link libraries (DLLs). Additionally, symbol files can present a roadmap
of the function calls that lead to the point of failure. For example, you must
have the symbols when you dump call stacks inside a
For more information about a Microsoft Symbol Server that contains
symbol files for Microsoft operating system components and other Microsoft
products, click the following article number to view the article in the Microsoft Knowledge Base:
Use the Microsoft Symbol Server to obtain debug symbol files
The Microsoft Symbol Server in article 311503 has not been
updated to include the symbols for the Microsoft .NET Framework. Therefore,
these symbol files are not loaded. Microsoft is working to make the .NET
Framework symbols available on a public symbol server.
Microsoft Product Support Services has not tested and does not support the use
of Microsoft Symbol Server with Visual Studio .NET. This article is only
provided as information because of customer inquiries.
Update the debugging files
- Download and then install the latest Debugging Tools for
Windows kit. To download the latest Debugging Tools for Windows kit, visit the
following Microsoft Web site:
- Locate the Symsrv.dll file in the \Program Files\Debugging
Tools for Windows folder or the C:\WINDBG folder.
Note Because Debugging Tools may be installed in a different folder,
search on your hard disk for Symsrv.dll if the file is not located in these
- Quit Visual Studio .NET if it is open.
- Copy Symsrv.dll to the C:\Program Files\Microsoft Visual
Studio .NET\Common7\IDE folder. The next time that you start Visual Studio
.NET, or you start Visual Studio .NET, you can use the Symsrv.dll file to find symbol servers
that you specify.
Specify the path to the Symbol Server
- Start Visual Studio .NET.
- Press CTRL+ALT+L to open the Solution Explorer
- Right-click the solution, and then click Properties.
- Expand the Common Properties and the Debug Symbol Files nodes.
- In the Debug Symbol Files property page, type the following
symbol server path:
symsrv*symsrv.dll*c:\localcache*http://msdl.microsoft.com/download/symbols where c:\localcache is the local
folder where the symbols are downloaded, and where the "http" address is the
address to the Microsoft Symbol Server that contains symbols for the operating
system and other Microsoft products.
Note Because the symbols are downloaded from the Internet, the Visual
Studio .NET debugger may debug slowly the first time because the debugger must
download all of the required symbol files.
- On the Debug menu, point to Windows, and then click Modules to verify that symbols are loaded for a particular module while
the debugger is running. The Modules window states whether the symbol
information has been loaded for the module.
- If you want to set the symbol server path for all solutions
and projects, you can set a global environment variable in Control Panel. To do
this, follow these steps:
- In Control Panel, double-click System.
- On the Advanced tab, click Environment Variables.
- Under System Variables, click New, and then add a variable as "_NT_SYMBOL_PATH".
- Set the value of the variable to a symbol server path,
The Visual Studio .NET debugger does not find symbols for
managed components if you set the symbol server path in Solution Properties. If
you have symbols for managed components, you must use the _NT_SYMBOL_PATH
environment variable for the debugger to recognize symbol files of a managed
component on a symbol server.
For more information about symbol servers and how to build
your own symbol server, see the "Using Symbol Servers and Symbol Stores" topic
of the Debugging Tools for Windows documentation.