显示局部变量

重要

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

执行始终发生在方法的上下文中进行,也称为包含的方法或当前方法。 执行暂停时,Visual Studio 调用调试引擎 (DE) 以获取局部变量和参数的列表,统称为该方法的局部变量。 Visual Studio 在“局部变量”窗口中显示这些局部变量及其值。

为了显示局部变量,DE 调用属于 EE 的 GetMethodProperty 方法,并为其提供计算上下文,即符号提供程序 (SP)、当前执行地址和联编程序对象。 有关详细信息,请参阅计算上下文。 如果调用成功,IDebugExpressionEvaluator::GetMethodProperty 方法将返回一个 IDebugProperty2 对象,表示包含当前执行地址的方法。

DE 调用 EnumChildren 以获取 IEnumDebugPropertyInfo2 对象,该对象经过筛选,以仅返回局部变量并枚举以生成 DEBUG_PROPERTY_INFO 结构列表。 每个结构都包含局部变量的名称、类型和值。 类型和值以格式化字符串的形式存储,适合显示。 名称、类型和值通常一起显示在“局部变量”窗口的一行中。

注意

“快速监视”和“监视”窗口还显示具有相同格式的名称、值和类型的变量。 但是,这些值是通过调用 GetPropertyInfo,而不是 IDebugProperty2::EnumChildren 获取。

本节内容

局部变量的示例实现使用示例来逐步介绍实现局部变量的过程。