IDebugExpression2

此接口表示已分析的表达式,可用于绑定和计算。

语法

IDebugExpression2 : IUnknown

实现者须知

调试引擎 (DE) 实现此接口来表示已分析的表达式,可供计算。

对调用者的说明

ParseText 的调用将返回此接口。 GetExpressionContext 返回 IDebugExpressionContext2 接口。 仅当正在调试的程序已暂停且堆栈帧可用时,才能访问这些接口。

Vtable 顺序中的方法

下表显示了 IDebugExpression2 方法。

方法 说明
EvaluateAsync 异步计算此表达式。
Abort 结束异步表达式计算。
EvaluateSync 同步计算此表达式。

注解

当程序停止时,会话调试管理器(SDM)通过调用 EnumFrameInfo 从 DE 获取堆栈帧。 然后,SDM 调用 GetExpressionContext 以获取 IDebugExpressionContext2 接口。 随后 调用 ParseText 以创建 IDebugExpression2 接口,该接口表示已分析的表达式可供计算。

SDM 调用 EvaluateSyncEvaluateAsync 以实际计算表达式并生成值。

在实现 IDebugExpressionContext2::ParseText中,DE 使用 COM 的 CoCreateInstance 函数实例化表达式计算器并获取 IDebugExpressionEvaluator 接口(请参阅接口中的 IDebugExpressionEvaluator 示例)。 然后,DE 调用 Parse 以获取 IDebugParsedExpression 接口。 此接口用于实现 IDebugExpression2::EvaluateSync 和执行 IDebugExpression2::EvaluateAsync 评估。

要求

标头:msdbg.h

命名空间:Microsoft.VisualStudio.Debugger.Interop

程序集:Microsoft.VisualStudio.Debugger.Interop.dll

另请参阅