Language Service Support for Debugging

A language service can provide features that support a debugger through the IVsLanguageDebugInfo interface. These features include validating breakpoints and supplying a list of expressions to the Autos window.

However, you need to have an expression evaluator to debug your language. The expression evaluator is responsible for evaluating expressions to produce values while debugging. For more information, see Writing a Common Language Runtime Expression Evaluator.

Compiler Output

The type of compiler determines what you need to do to implement debugging for your language. If your compiler targets the Windows operating system and writes a .pdb file, you can debug programs with the native code debugging engine that is integrated into Visual Studio. If your compiler produces Microsoft intermediate language (MSIL), you can debug programs with the managed code debugging engine, which is also integrated into Visual Studio. If your compiler targets a proprietary operating system or a different runtime environment, you need to write your own debugging engine.

For more information on implementing debugging for your language, see Getting Started with Debugger Extensibility in the Visual Studio Debugging SDK.