What's New in the Visual Studio 2005 Debugger 

The Visual Studio 2005 debugger has been enhanced by the addition of the following features:

  • Edit and Continue for Visual Basic and Visual C#.

    You can change your Visual Basic and C# code while debugging your application and continue running your application at the same time. This feature improves your productivity by allowing you to fix errors rapidly, test new functionality, and modify existing functionality. For more information, see Edit and Continue (Visual Basic) and Edit and Continue (Visual C#).

  • More secure remote debugging with simpler setup.

    Set up remote debugging by copying a single executable to the remote computer without complex setup instructions or registration. Remote debugging is now more secure and robust. In addition, you can now debug 64-bit managed and unmanaged applications. For more information, see Remote Debugging Setup.

  • Visualizers.

    Powerful tools enable you to view data in an intuitive and natural format. You can launch a visualizer from a Watch window or from the new enhanced DataTips. For example, you can now view a string as an HTML or an XML document. You can use our visualizers or write your own. For more information, see Visualizers.

  • Enhanced debugger DataTips.

    Debugger DataTips have been improved. You can navigate the contents of complex data structures right in the source editor. You can open a visualizer from a DataTip to view your data in an intuitive and natural format. For more information, see How to: Use DataTips.

  • Just My Code debugging

    This feature enables you to focus on only the code you have written, and ignore code you are not interested in. For more information, see How to: Step Into Just My Code.

  • Tracepoints and improved breakpoint UI.

    Breakpoints are not just for breaking anymore. Tracepoints are a new way of using breakpoints to perform a custom action. With tracepoints, you can print a message or run a Visual Studio automation macro, and you determine whether the debugger breaks or continues when it hits a tracepoint. The user interface is improved to make setting all breakpoints easier and faster. For more information, see Breakpoints and Tracepoints.

  • Better tools for multiprocess debugging.

    The new Processes window shows all processes you are attached to for debugging. Breakpoint filters enable you to attach a breakpoint to specified processes, threads, and machines. The Attach to Process dialog box is simplified for ease of use, with attached processes information moved from the dialog box to the Processes window. For more information, see How to: Attach to a Running Process and How to: Use the Processes Window.

  • Exception Assistant for Visual Basic, C#, and Visual J#.

    The new Exception Assistant dialog box provides better information when an exception occurs in a Visual Basic, C#, or Visual J# program. For more information, see Exception Assistant.

  • Improved support for managing debug information.

    Better support for symbol server and diagnostic messages for troubleshooting debug information.

  • Debugging code at design time.

    You can debug your Visual Basic, C#, or Visual J# application while designing it. Using the Immediate window, you can test and debug your functions and methods without having to run your application.

  • Support for new features in SQL Server 2005, including:

    • Debugging managed database objects types.

    • Debugging multi-tier applications, crossing between the application and SQL Server database tiers.

    • Debugging back and forth between managed code and T-SQL.

    • Support for debugging on 64-bit platforms.

Changes in the Visual Studio .NET 2003 Debugger

The Visual Studio .NET 2003 debugger was enhanced by the addition of the following features:

  • Security enhancements, including a new restriction on Just-In-Time debugging that improves security by preventing Just-in-Time debugging across machines. For more information, see Just-In-Time Debugging.

  • Remote debugging using pipes, a new alternative to TCP/IP debugging that helps provide more security. For more information, see Remote Debugging Using Pipes.

  • The ability to load dumps containing managed information. Managed dumps can be debugged using the SOS debugging tool, which runs from the Command window.

  • Automatic stepping into XML Web services. For more information, see Stepping into Xml Web Services.

  • Support for automatically downloading debug symbols from a symbol server. For more information, see Symbol Server.

  • Improved error messages, especially for errors that occur while debugging Web applications.

  • A new pseudovariable $exception for retrieving information on C# exceptions.

Changes in the Visual Studio .NET 2002 Debugger

Visual Studio .NET 2002 provided a single integrated debugger for all Visual Studio languages. A new, unified interface combined features of the old Visual C++ and Visual Basic debuggers, as well as many new features. Major enhancements for debugging included:

  • Cross-language debugging of Visual Basic .NET, Visual C++ .NET, Visual C# .NET, Managed Extensions for C++, script, and SQL.

  • Debugging of applications written for the Microsoft .NET Framework common language runtime as well as Win32 native applications.

  • Attaching to a running program, either on the host or a remote machine.

  • Attaching automatically to server processes for ATL Server applications, ASP.NET Web applications, and ASP.NET Web services when debugging.

  • Debugging multiple programs, either by launching multiple programs in a single Visual Studio solution or by attaching to additional programs that are already running.

  • Using run-time error checking in Visual C++ to catch common run-time errors such as, stack pointer corruption, overruns of local arrays, stack corruption, dependencies on uninitialized local variables, and loss of data on an assignment to a shorter variable.

  • Checking buffer security for Visual C++ applications with the /GS option. You can use this option to detect buffer overruns, which overwrite the return address.

  • Setting a breakpoint in a DLL that has not yet been loaded. The breakpoint will automatically become active when the DLL loads. You do not need to specify DLLs you want to debug in an Additional DLLs dialog box as you did in the Visual C++ debugger.

  • Stepping from XML Web service clients to XML Web services with an integrated call stack between client and server applications.

  • Modeless windows replaced modal dialog boxes for breakpoints and threads, which provides greater flexibility in controlling and accessing features in your workspace.

See Also

Concepts

Debugger Security

Other Resources

Debugging in Visual Studio
What's New in Visual Studio 2005