IDkmLanguageExpressionEvaluator Interface


This interface allows a language extension to evaluate expressions in the various data inspection windows of the debugger (Watch, Autos, Immediate, Memory, Disassembly, etc.). It should generally be implemented by all language extensions. Implementations of this interface may restrict when they are called using a filter defined in their component configuration. The following properties may be used: CompilerVendorId, EngineId, LanguageId, RuntimeId.

public interface class IDkmLanguageExpressionEvaluator
public interface class IDkmLanguageExpressionEvaluator
__interface IDkmLanguageExpressionEvaluator
public interface IDkmLanguageExpressionEvaluator
type IDkmLanguageExpressionEvaluator = interface
Public Interface IDkmLanguageExpressionEvaluator


EvaluateExpression(DkmInspectionContext, DkmWorkList, DkmLanguageExpression, DkmStackWalkFrame, DkmCompletionRoutine<DkmEvaluateExpressionAsyncResult>)

Binds the input expression and evaluates it, and then formats the resulting value for display in the debugger. This is used for data tips, the watch windows, the Immediate window, and so on

GetChildren(DkmEvaluationResult, DkmWorkList, Int32, DkmInspectionContext, DkmCompletionRoutine<DkmGetChildrenAsyncResult>)

Gets an enumeration context used to obtain the children of this evaluation result. This is used in all expression evaluation windows.

GetFrameArguments(DkmInspectionContext, DkmWorkList, DkmStackWalkFrame, DkmCompletionRoutine<DkmGetFrameArgumentsAsyncResult>)

Provides information about the arguments of a stack frame. This is currently only exposed through the Visual Studio automation model (EnvDTE.StackFrame.Arguments).

GetFrameLocals(DkmInspectionContext, DkmWorkList, DkmStackWalkFrame, DkmCompletionRoutine<DkmGetFrameLocalsAsyncResult>)

Gets an enumeration context used to obtain the local variables of this stack frame. This is used in computing the Locals window.

GetItems(DkmEvaluationResultEnumContext, DkmWorkList, Int32, Int32, DkmCompletionRoutine<DkmEvaluationEnumAsyncResult>)

Obtains DkmEvaluationResult items from this enumeration context. This is used to obtain local variables of a stack frame or child members from an evaluation result.


This method is used for evaluation results that include DkmEvaluationResultFlags.RawString to obtain the underlying string, without enclosing quotation marks or escape sequences. This is method is invoked to display one of the various string visualizers in an expression evaluation window. (Click the magnifying glass icon.)

SetValueAsString(DkmEvaluationResult, String, Int32, String)

Modifies the value of the given evaluation result (assumed to be non-read-only) to match the given string. This is used after the user edits a value in any of the evaluation windows.

Applies to