Expression Evaluation Interfaces

The following are the Expression Evaluation Interfaces for the Visual Studio Debugging SDK.

Discussion

These interfaces are used to evaluate expressions in a call stack during break mode. They are implemented only for common language run-time expression evaluators (EE).

Each interface in the table shows the component that can implement it from the following list:

  • Debug Engine (DE)

  • Expression Evaluator (EE)

  • Visual Studio (VS)

Interface

Implemented by

Description

IDebugAlias

EE

Represents a numeric alias for a variable.

IDebugAlias2

EE

Represents a numeric alias for a variable, and enables an expression evaluator (EE) to obtain the application domain for the alias.

IDebugArrayObject

EE

Represents an array object.

IDebugArrayObject2

EE

Represents a managed array object, and allows an expression evaluator (EE) to determine the base index (lower bounds) for the array.

IDebugBinder

DE

Represents a binder that binds debug symbols to actual addresses in memory.

IDebugBinder3

DE

Same as the IDebugBinder interface but provides access to types, aliases, and custom visualizers.

IDebugExpressionEvaluator

EE

Represents the expression evaluator.

IDebugExpressionEvaluator2

EE

Represents an enhanced version of an expression evaluator (EE).

IDebugExpressionEvaluator3

EE

Represents an expression evaluator (EE) with an enhanced parser tree.

IDebugFunctionObject

EE

Represents a function.

IDebugFunctionObject2

EE

Represents a function and enhances the IDebugFunctionObject interface.

IDebugIDECallback

DE

Enables an expression evaluator (EE) to display a message in the debugger's output window.

IDebugManagedObject

EE

Represents a managed code object.

IDebugObject

EE

Base interface that represents any symbol bound to a memory address.

IDebugObject2

EE

Same as the IDebugObject interface but provides access to additional information.

IDebugParsedExpression

EE

Represents a parsed expression ready to be evaluated.

IDebugPointerObject

EE

Represents a pointer.

IDebugPointerObject3

EE

Represents a pointer in a parse tree, and extends the IDebugPointerObject interface.

IEEVisualizerDataProvider

EE

Provides the ability to modify a type's value through a type visualizer.

IEEVisualizerService

VS

Provides access to custom viewers and type visualizers.

IEEVisualizerServiceProvider

VS

Provides the ability to create an IEEVisualizerService object.

IEnumDebugObjects

EE

Represents a collection of IDebugObject objects.

See Also

Reference

API Reference (Visual Studio Debugging)

Concepts

Type Visualizer and Custom Viewer

Other Resources

Writing a Common Language Runtime Expression Evaluator