Visual Studio Debugger Extensibility
Microsoft Visual Studio 2010 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 the Visual Basic, Visual C#, and C/C++ languages, in addition to the scripting languages ECMA, VBScript and JScript. However, with the Visual Studio SDK, available through the Visual Studio Industry Partner (VSIP) program, other computer languages can be supported in the debugger with the same rich features.
Notes
Creating a new language extension to the debugger requires a VSPackage license supplied under the terms of the VSIP program.
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.
In This Section
Getting Started with Debugger Extensibility
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 Common Language Runtime Expression Evaluator
Explains whether you must write an expression evaluator.Choosing a Debug Engine Implementation Strategy
Discusses how to implement your DE.Reference (Visual Studio Debugging APIs)
Documents the Visual Studio Debugging API.Visual Studio Debugging Samples
Contains links to a common language runtime expression evaluator sample and a debug engine sample.