Поделиться через


Visual Studio debugger extensibility

Applies to: yesVisual Studio noVisual Studio for Mac

Note

This article applies to Visual Studio 2017. 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

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 for 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). This point 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 a complete 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.

In this section

Get started Describes what Visual Studio Debugging offers and how to install the SDK.

Create a custom debug engine Documents the custom DE process, from preparing your program for a DE to detaching the DE.

Write a CLR expression evaluator Explains whether you must write an expression evaluator.

Choose 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.