IDebugExpression2
此接口表示已分析的表达式,可用于绑定和计算。
语法
IDebugExpression2 : IUnknown
实现者须知
调试引擎 (DE) 实现此接口来表示已分析的表达式,可供计算。
对调用者的说明
对 ParseText 的调用将返回此接口。 GetExpressionContext 返回 IDebugExpressionContext2 接口。 仅当正在调试的程序已暂停且堆栈帧可用时,才能访问这些接口。
Vtable 顺序中的方法
下表显示了 IDebugExpression2
方法。
方法 | 说明 |
---|---|
EvaluateAsync | 异步计算此表达式。 |
Abort | 结束异步表达式计算。 |
EvaluateSync | 同步计算此表达式。 |
注解
当程序停止时,会话调试管理器(SDM)通过调用 EnumFrameInfo 从 DE 获取堆栈帧。 然后,SDM 调用 GetExpressionContext 以获取 IDebugExpressionContext2 接口。 随后 调用 ParseText 以创建 IDebugExpression2
接口,该接口表示已分析的表达式可供计算。
SDM 调用 EvaluateSync 或 EvaluateAsync 以实际计算表达式并生成值。
在实现 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