表达式计算在中断模式
下面描述发生的处理,调试器处于中断模式,并且必须执行表达式计算。
表达式级别程序
这些是在计算表达式涉及的基本步骤:
会议调试管理器 (SDM)调用 IDebugStackFrame2:: GetExpressionContext 获取表达式上下文接口, IDebugExpressionContext2。
SDM 然后调用与要分析的字符串的 IDebugExpressionContext2:: ParseText 。
如果 ParseText 不返回 S_OK,该错误的原因返回。
否则 -
如果 ParseText 返回 S_OK, SDM 然后可以调用 IDebugExpression2:: EvaluateSync 或 IDebugExpression2:: EvaluateAsync 从已分析的表达式的最后一个值。
对于使用 IDebugExpression2::EvaluateSync,特定回调接口用于将继续处理计算。 最终值在 IDebugProperty2 接口返回。
对于使用 IDebugExpression2::EvaluateAsync,特定回调接口用于将继续处理计算。 一旦计算完成的, EvaluateAsync 通过回调发送一 IDebugExpressionEvaluationCompleteEvent2 接口。 此事件接口,最终值可以获取与 IDebugExpressionEvaluationCompleteEvent2:: GetResult。