更改局部变量的值

重要

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

在“局部变量”窗口的值字段中键入新值时,调试包会将输入的字符串传递给表达式计算器 (EE)。 EE 计算此字符串,该字符串可以包含简单值或表达式,并将生成的值存储在关联的局部变量中。

这是更改局部变量值的过程概述:

  1. 用户输入新值后,Visual Studio 会在与局部变量关联的 IDebugProperty2 对象上调用 SetValueAsString

  2. IDebugProperty2::SetValueAsString 执行下列任务:

    1. 计算用于生成值的字符串。

    2. 绑定关联的 IDebugField 对象,以获取 IDebugObject 对象。

    3. 将值转换为一系列字节。

    4. 调用 SetValue 以将值的字节放入内存中,以便调试的程序可以访问。

  3. Visual Studio 刷新局部变量显示(有关详细信息,请参阅显示局部变量)。

    此程序还用于更改“监视”窗口中变量的值,只不过使用的是与使用局部变量的值关联的 IDebugProperty2 对象,而不是与局部变量本身关联的 IDebugProperty2 对象。

本节内容

更改值的示例实现使用 MyC EE 示例逐步介绍更改值的过程。