在中断模式下, IDE 必须能够计算涉及程序的若干变量的最简单的表达式。 为此,调试引擎 (DE)必须能够分析和计算将在某一 IDE 窗口的表达式。
表达式创建使用 IDebugExpressionContext2:: ParseText 方法和的结果的 IDebugExpression2 接口表示。
IDebugExpression2 接口由 DE 实现并调用其 EvalAsync 方法返回 IDebugProperty2 接口到 IDE,以便显示表达式计算的结果在 IDE 中。 IDebugProperty2:: GetPropertyInfo 返回可用于将表达式的值到 " 监视 " 窗口或 " 本地窗口的结构。
调试包或会话调试管理器 (SDM)调用 IDebugExpression2:: EvaluateAsync 或 EvaluateSync 获取表示计算结果的 IDebugProperty2 接口。 IDebugProperty2 具有返回该表达式的名称、类型和值的方法。 此信息显示在各种调试器窗口。
使用表达式计算
如下表所示,若要使用表达式计算,必须执行 IDebugExpressionContext2:: ParseText 方法和所有 IDebugExpression2 接口的方法,。
方法 |
说明 |
---|---|
异步计算表达式。 |
|
结束异步计算表达式。 |
|
同步计算表达式。 |
同步和异步计算需要 IDebugProperty2:: GetPropertyInfo 方法的实现。 异步计算表达式需要 IDebugExpressionEvaluationCompleteEvent2的实现。