Visual Studio Debugger Extensibility

 

For the latest documentation on Visual Studio 2017 RC, see Visual Studio 2017 RC Documentation.

Visual Studio includes a fully interactive source code debugger, providing a powerful and easy-to-use tool for tracking down bugs in your program. The debugger has complete support Visual Basic, C#, C/C++, and JavaScript. However, with the Visual Studio SDK, that is available from the Microsoft Download Center,, other programming languages can be supported in the debugger with the same rich features.

The Visual Studio debugger is the common front end (that is, the user interface) to the debugging components that are, in turn, specific to the language being debugged. For new languages, all that is necessary for support by the Visual Studio debugger is to create the necessary back-end components, such as a debug engine (DE). That is where the Visual Studio SDK comes in.

The Visual Studio SDK includes a complete reference to all Visual Studio elements required to create a new DE. In addition, there are samples and tutorials that will help get you started.

For an end-to-end sample of a language project system with debugging support, see the IronPython sample.

The following sections describe how to extend the debugger by using the Visual Studio SDK.

Getting Started
Describes what Visual Studio Debugging offers and how to install the SDK.

Creating a Custom Debug Engine
Documents the custom DE process, from preparing your program for a DE to detaching the DE.

Writing a CLR Expression Evaluator
Explains whether you must write an expression evaluator.

Choosing a Debug Engine Implementation Strategy
Discusses how to implement your DE.

Reference
Documents the Visual Studio Debugging API.

Samples
Contains links to a common language runtime expression evaluator sample and a debug engine sample.

Show: