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



The information in this article applies to:

  • Microsoft Visual Studio .NET (2002), Professional Edition
  • Microsoft Visual Studio .NET (2002), Enterprise Architect Edition
  • Microsoft Visual Studio .NET (2002), Enterprise Developer Edition
  • Microsoft Visual Studio .NET (2002), Academic Edition
  • Microsoft Visual Studio .NET (2003), Academic Edition
  • Microsoft Visual Studio .NET (2003), Enterprise Architect Edition
  • Microsoft Visual Studio .NET (2003), Enterprise Developer Edition
  • Microsoft Visual Studio .NET (2003), Professional Edition

This article was previously published under Q319037

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.

back to the top

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:
  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 or C:\Program Files\Microsoft Visual Studio 8\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.
back to the top

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. back to the top

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.

back to the top

Modification Type:MajorLast Reviewed:8/2/2006
Keywords:kbvs2005doesnotapply kbvs2005swept kbHOWTOmaster KB319037 kbAudDeveloper