编写公共语言运行时表达式计算器

重要

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

表达式计算器 (EE) 是调试引擎 (DE) 的一部分,用于处理生成正在调试的代码的编程语言的语法和语义。 必须在编程语言的上下文中计算表达式。 例如,在某些语言中,表达式“A+B”表示“A 和 B 的总和”。在其他语言中,同一表达式可能表示“A 或 B”。因此,必须为每个编程语言编写单独的 EE,以生成要在 Visual Studio IDE 中调试的对象代码。

Visual Studio 调试包的某些方面必须在编程语言上下文中解释代码。 例如,当执行在断点处停止时,必须计算并显示用户已键入“监视”窗口中的任何表达式。 用户可以通过将表达式键入“监视”窗口或“即时”窗口来更改局部变量的值。

本节内容

公共语言运行时和表达式计算说明了在将专有编程语言集成到 Visual Studio IDE 中时,编写能够在专有语言上下文中计算表达式的 EE,无需编写调试引擎即可编译为 Microsoft 中间语言 (MSIL)。

表达式计算器体系结构讨论了如何实现所需的 EE 接口,并调用公共语言运行时符号提供程序 (SP) 和联编程序接口。

注册表达式计算器指出,EE 必须在公共语言运行时和 Visual Studio 运行时环境中将自身注册为类工厂。

实现表达式计算器描述了计算表达式的过程包括调试引擎 (DE)、符号提供程序 (SP)、联编程序对象和表达式计算器 (EE)。

显示局部变量描述了执行暂停时调试包如何调用 DE 以获取局部变量和参数的列表。

计算监视窗口表达式记录了 Visual Studio 调试包如何调用 DE 来确定其监视列表中每个表达式的当前值。

更改局部变量的值说明了更改局部变量窗口的值时,局部变量窗口的每一行都有一个关联的对象,该对象提供本地的名称、类型和当前值。

实现类型可视化工具和自定义查看器说明了需要通过哪个组件实现哪个接口,以支持类型可视化工具和自定义查看器。

Visual Studio 调试器可扩展性