键表达式计算器接口

重要

在 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

    该接口表示值及其类型,是表达式计算的结果。

另请参阅