Getting Started with Debugger Extensibility

Note

This article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here

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

  • ATL COM

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.