SUMMARY
This article provides a roadmap to learn and to master how to debug
applications that use the .NET Framework. To help you learn about a
Microsoft product or technology, roadmap articles provide links to useful information, including online documentation, Microsoft Knowledge Base articles, and white papers.
This article contains the following sections:
Overview
To debug an application efficiently, it is very important that you have a basic understanding of the .NET technology. This article assumes that you are familiar with the following .NET Framework concepts:
- Managed code
- Garbage collection
- Assemblies
- Security
For more information, refer to the following topics in the Visual Studio .NET Help documentation:
back to the topArchitecture
The links that follow provide architectural information about the debugger tools and about other troubleshooting tools.
You can debug a Microsoft .NET Framework application by using one of the three debuggers:
- The Microsoft Visual Studio .NET debugger, which is integrated with the Visual Studio .NET integrated development environment (IDE), is the most sophisticated debugger that you can use. The Visual Studio .NET debugger incorporates most of the features from the debuggers that are included with Microsoft Visual Basic 6.0 and Microsoft Visual C++ 6.0.
In addition, the Visual Studio .NET debugger adds some very important features, such as better facilities for remote debugging, cross-language debugging, remote attach, detaching without killing the application, and so on. When you use this debugger, you can debug both managed code and unmanaged code, even when the code is mixed. For more information about the Visual Studio .NET debugger, click the following link: - The CorDbg.exe file is a command-line, stand-alone, run-time debugger that works only on managed code. You can debug any application that is written in a language that the common language runtime supports, (for example, Microsoft Visual Basic, Microsoft Visual C#, and so on). However, you cannot perform remote debugging. This debugger requires the least amount of memory of the three debuggers in this article. For more information about CorDbg.exe, refer to the following topic in the Visual Studio .NET Help documentation:
- The Microsoft CLR Debugger (DbgCLR.exe) is also a stand-alone debugger. However, DbgCLR.exe has a Windows user interface. For more information about DbgCLR.exe, refer to the following topic in the Visual Studio .NET Help documentation:
In addition to using the debugger tools, you may need to adjust some settings in your application to help you troubleshoot or to help maximize performance of the system. For more information about the
System.Diagnostics namespace and the main classes in this namespace (
Debug and
Trace), as well as about performance monitoring classes, refer to the following topic in the Visual Studio .NET Help documentation:
When you want to optimize the application's performance, you need some additional tools. For more information about these tools that can help you profile and monitor performance, refer to the following topic in the Visual Studio .NET Help documentation:
In addition to the debuggers and tracing facilities, the .NET Framework includes several tools that can help you troubleshoot your application. For a list of these tools, refer to the following Visual Studio .NET Help documentation:
back to the topKey debugging concepts and QuickStart tutorials
For information about key debugging concepts, refer to the following Microsoft QuickStart tutorials:
The Troubleshooting Problems portal can help you to find the information that you need to troubleshoot a problem. For more information about the portal, and for links to several topics that are related to debugging and diagnostics, visit the following MSDN Web site:
Although you may be familiar with earlier versions of the debugger, visit the following MSDN Web sites for more information about the new features in the Visual Basic .NET debugger:
Regardless of the type of application that you are developing (for example, a Web service, a Windows service, or a Microsoft ASP.NET application), you can find specific topics about how to debug in the Help documentation. For more information about these specialized topics, refer to the following Visual Studio .NET Help documentation:
back to the topHowTo Articles
HowTo articles provide step-by-step instructions about how to accomplish specific tasks. For a list of How To articles about Visual Studio .NET, search the Microsoft Knowledge Base by running the following query, and then narrow your search by providing additional search criteria:
HowTo Article Searchback to the topWalkthroughs and WebCasts
Walkthroughs provide mini-tutorials that walk you through the debugging process of some types of applications. For more information about debugging samples, refer to the following Visual Studio .NET Help documentation:
back to the topTroubleshooting
If you encounter problems and need answers to your questions, consult the MSDN newsgroups. The MSDN newsgroups are the best place to obtain answers to your questions. In the MSDN newsgroups, you can share your experiences with your peers or search the Microsoft Knowledge Base for articles about specific issues:
back to the top