Applies to: yesVisual Studio noVisual Studio for Mac noVisual Studio Code


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 represents an object that the binder creates to encapsulate the values of symbols and expressions.


IDebugObject : IUnknown

Notes for Implementers

An expression evaluator implements this interface to represent an object.

Notes for Callers

This interface is the base class for all objects that the expression evaluator uses in parsed expressions. It is returned by a call to the Bind method. QueryInterface obtains the more specialized interfaces from this interface.

Methods in Vtable Order

The following table shows the methods of IDebugObject.

Method Description
GetSize Gets the size of the object.
GetValue Gets the value of the object as a consecutive series of bytes.
SetValue Sets the value of the object from a consecutive series of bytes.
SetReferenceValue Sets the reference value of this object.
GetMemoryContext Gets the memory context that represents the address of the value of the object.
GetManagedDebugObject Creates a copy of the managed object in the address space of the debug engine.
IsNullReference Tests whether this object is a null reference.
IsEqual Compares an object to this one.
IsReadOnly Determines if this object is read-only.
IsProxy Determines if the object is a transparent proxy.


The expression evaluator uses this interface as the base class to represent objects in a parse tree.


Header: ee.h

Namespace: Microsoft.VisualStudio.Debugger.Interop

Assembly: Microsoft.VisualStudio.Debugger.Interop.dll

See also