,当 IDE 处于中断模式时,表达式计算器 (EE)检查语言的语法分析和计算变量与表达式在运行时,从而使它们由用户查看。
使用 " 表达式计算器
使用 IDebugExpressionContext2:: ParseText 方法,表达式创建,如下所示:
调试引擎 (DE) IDebugExpressionContext2 实现接口。
调试包从 IDebugStackFrame2 接口获取 IDebugExpressionContext2 对象并调用此操作的 IDebugStackFrame2::ParseText 方法获取 IDebugExpression2 对象。
调试打包名为 IDebugExpression2:: EvaluateSync 方法或 IDebugExpression2:: EvaluateAsync 方法获取该表达式的值。 IDebugExpression2::EvaluateAsync 从命令/即时窗口调用。 其他 UI 元素调用 IDebugExpression2::EvaluateSync。
表达式计算结果为 IDebugProperty2 对象,包含表达式计算结果的名称、类型和值。
在计算表达式时, EE 需要从符号提供程序元素的信息。 符号提供程序提供确定并了解已分析的表达式使用的符号信息。
在异步表达式计算完成时,异步操作由 DE 发送通过会议调试管理器 (SDM)通知 IDE 表达式计算完成。 当同步表达式计算完成时,计算的结果从调用返回到 IDebugExpression2::EvaluateSync 方法。
实现批注
Visual Studio 调试引擎应该使用公共语言运行时接口的表达式计算器 (CLR)连接。 因此,与 Visual Studio 使用的表达式计算器调试引擎必须支持 CLR (完整的所有 CLR 调试接口可在 debugref.doc 找到,是 Windows 软件开发包 (SDK)的一部分)。