关键表达式评估器接口

重要

在 Visual Studio 2015 中,这种实现表达式计算器的方法已弃用。 有关实现 CLR 表达式计算器的信息,请参阅 CLR 表达式计算器托管表达式计算器示例

编写表达式计算器(EE)以及计算上下文时,应熟悉以下接口。

接口说明

  • IDebugAddress

    具有单个方法 GetAddress,它获取表示当前执行点的数据结构。 此数据结构是调试引擎 (DE) 传递给 EvaluateSync 方法以计算表达式的三个参数之一。 此接口通常由符号提供程序实现。

  • IDebugBinder

    具有 Bind 方法,该方法获取包含符号的当前值的内存区域。 给定包含的方法(由 IDebugObject 对象表示)和符号本身(由 IDebugField 对象表示),IDebugBinder::Bind 返回符号的值。 IDebugBinder 通常由 DE 实现。

  • IDebugField

    表示简单的数据类型。 对于更复杂的类型(如数组和方法),请分别使用派生的 IDebugArrayFieldIDebugMethodField 接口。 IDebugContainerField 是另一个重要的派生接口,表示包含其他符号(如方法或类)的符号。 接口 IDebugField (及其派生体)通常由符号提供程序实现。

    IDebugField对象可用于查找符号的名称和类型,以及 IDebugBinder 对象可用于查找其值。

  • IDebugObject

    表示符号在运行时的实际位数据。 Bind 采用一个 IDebugField 对象,该对象表示符号,并返回 IDebugObject 对象。 GetValue 方法返回内存缓冲区中符号的值。 DE 通常实现此接口来表示内存中属性的值。

  • IDebugExpressionEvaluator

    此接口表示表达式计算器本身。 密钥方法是 Parse,它返回 IDebugParsedExpression 接口。

  • IDebugParsedExpression

    此接口表示准备计算的已分析表达式。 键方法是 EvaluateSync ,它返回一个表示表达式的值和类型的 IDebugProperty2。

  • IDebugProperty2

    此接口表示一个值及其类型,并且是表达式计算的结果。

另请参阅