Getting Started with Debugger Extensibility

The Visual Studio SDK provides the information that you must have to create and customize debugger components used to debug programs from within the Visual Studio environment.

Visual Studio debugging has added improvements derived from the extensive usability testing performed on previous Visual Studio debuggers. You can use Visual Studio debugging to step through a multi-language application, or you can implement on-the-fly editing of variables while debugging applications and multi-language solutions.

Visual Studio debugging is executed out-of-process with the program being debugged and is therefore less intrusive in the process space of the application. Consequently, it is easier to write components that interact with the debugger without affecting your debugging program.

To best use the Visual Studio SDK, you should be familiar with the following:

  • The Visual Studio integrated development environment (IDE)

  • The C++ programming language


In This Section

  • Roadmap for Extending the Debugger
    Outlines the process of implementing debugging in your product, depending on your compiler and its output.

  • Debugger Components
    Provides an overview of the Visual Studio debugging components, which include the debug engine (DE), expression evaluator (EE), and symbol handler (SH).

  • Debugger Concepts
    Describes the main debugging architectural concepts.

  • Debugger Contexts
    Explains how the debug engine (DE) operates simultaneously within code, documentation, and expression evaluation contexts. Describes, for each of the three contexts, the location, position or evaluation relevant to it.

  • Debugging Tasks
    Contains links to various debugging tasks, such as launching a program and evaluating expressions.