 | The Debugger Class The .NET framework's Debugger class allows programs to communicate with an attached debugger. This can be the debugger built into Visual Studio or an alternative tool that supports the functionality provided by the class. |
 | Visual Studio Break on Exception When running a program in debug mode, using Visual Studio's debugger, and encountering an exception, the default behaviour is to pause execution unless the error is handled in a try / catch block. This behaviour can be modified for each exception type. |
 | Visual Studio 2010 Breakpoint Enhancements Visual Studio 2010 introduces many enhancements when working with the debugger. Several of these relate to the use of breakpoints, including tagging breakpoints with labels, searching for breakpoints and importing and exporting their details. |
 | DebuggerDisplay Name and Type Parameters The DebuggerDisplay attribute is often used to change the way in which the values of variables are displayed in Visual Studio's debugger windows. This display can be further modified with the addition of the Name and Type parameters. |
 | Visual Studio 2010 Pinned DataTips Visual Studio 2010 introduces several new features to assist with debugging. The improved DataTips feature allows the contents of variables and members to be made permanently visible, either pinned to the source code or floating above an editor window. |
 | Writing Debug and Trace Messages Complex software can be made easier to debug and monitor with the use of logging code. Such code outputs information about an application to the screen or to a location that can be examined during debugging or when the software is in a live environment. |
 | Debugging with Attach to Process Visual Studio allows you to execute a program in debug mode and use various debugging tools to monitor its activity. When you are running a program outside of Visual Studio, it can still be possible to attach to that software to investigate its behaviour. |
 | Using the DebuggerDisplay Attribute When debugging, the contents of strings and numeric types can be viewed in the locals and watches windows. When a custom object is displayed, the name of the class or the result of ToString() is shown. This can be changed with a DebuggerDisplay attribute. |
 | Visual Studio Debug Mode In addition to being a complex code editing tool, Visual Studio includes a debugger. This tool allows a program to be paused, then stepped through line-by-line whilst allowing you to monitor the values of variables, helping to identify bugs. |
 | C# Conditional Methods Applications developed using C# and the .NET framework can include conditional methods. These methods are called only when specified compiler symbols have been defined. This makes them ideal for code used for tracing and debugging purposes. |