Share via


IDebugBinder

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

Important

In Visual Studio 2015, this way of implementing expression evaluators is deprecated. For information about implementing CLR expression evaluators, please see CLR Expression Evaluators and Managed Expression Evaluator Sample.

This interface binds a symbol field, typically returned by the symbol provider, to a memory context or object that contains the symbol's current value.

Syntax

IDebugBinder : IUnknown

Notes for Implementers

This interface supports expression evaluation and must be implemented by the debug engine (DE).

Notes for Callers

This interface is used in the process of expression evaluation and is typically used in the implementation of EvaluateSync and EvaluateAsync.

Methods in Vtable Order

The following table shows the methods of IDebugBinder.

Method Description
Bind Gets the memory context or object that contains the symbol's current value.
ResolveRuntimeType Determines the run-time type of an object.
GetMemoryContext Converts an object location or memory address to a memory context.
GetFunctionObject Gets an IDebugFunctionObject object used to create function parameters.
ResolveDynamicType Gets the exact type for a variable.

Remarks

This interface returns objects that are used by the expression evaluator in parse trees. The expression evaluator parses an expression by using the symbol provider to convert the symbols in the expression to instances of IDebugField, which describe each symbol in terms of its type and location in the source code. The Bind method converts IDebugField objects to IDebugObject objects that connect or bind a symbol type to an actual value in memory. These IDebugObject objects are then stored in a parse tree for later evaluation.

Requirements

Header: ee.h

Namespace: Microsoft.VisualStudio.Debugger.Interop

Assembly: Microsoft.VisualStudio.Debugger.Interop.dll

See also