How to use a symbol server with the Visual Studio .NET debugger

Article translations Article translations
Article ID: 319037 - View products that this article applies to.
This article was previously published under Q319037
Expand all | Collapse all

On This Page

SUMMARY

This step-by-step article describes how to use the Visual Studio .NET debugger with a symbol server to load symbols from the Microsoft Symbol Server.

Click the Play button to view this streaming media demonstration.



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 debugger.

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:
311503 Use the Microsoft Symbol Server to obtain debug symbol files
Note 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.

Additionally, 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

  1. 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:
    http://www.microsoft.com/whdc/devtools/ddk/default.mspx
  2. 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 folders.
  3. Quit Visual Studio .NET if it is open.
  4. 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

  1. Start Visual Studio .NET.
  2. Press CTRL+ALT+L to open the Solution Explorer window.
  3. Right-click the solution, and then click Properties.
  4. Expand the Common Properties and the Debug Symbol Files nodes.
  5. 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.
  6. 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.
  7. 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:
    1. In Control Panel, double-click System.
    2. On the Advanced tab, click Environment Variables.
    3. Under System Variables, click New, and then add a variable as "_NT_SYMBOL_PATH".
    4. Set the value of the variable to a symbol server path, for example:
      symsrv*symsrv.dll*c:\localcache*http://msdl.microsoft.com/download/symbols
Note 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.

REFERENCES

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.

Properties

Article ID: 319037 - Last Review: October 20, 2006 - Revision: 6.2
APPLIES TO
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft Visual Studio .NET 2002 Enterprise Architect
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
  • Microsoft Visual Studio .NET 2002 Academic Edition
  • Microsoft Visual Studio .NET 2003 Academic Edition
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
  • Microsoft Visual Studio .NET 2003 Professional Edition
Keywords: 
kbvs2005doesnotapply kbvs2005swept kbhowtomaster KB319037

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com