访问局部变量

局部变量如同全局变量,也存储在符号文件中。 与全局变量一样,调试器将其名称解释为地址。 可以采用与全局变量相同的方式读取和写入局部变量。 但是,如果需要向命令指示符号是局部符号,请在符号前面加上一个美元符号 ($) 和一个感叹号 (!),如 $!var 中所示。

Visual Studio 和 WinDbg 提供用户界面元素,可以使用这些元素(除了命令)来查看和编辑局部变量。 有关详细信息,请参阅在 WinDbg (Classic) 中查看和编辑局部变量

还可以使用以下方法来显示、更改和使用局部变量:

但是,局部变量和全局变量之间存在一项主要差异。 当应用程序执行时,局部变量的含义取决于程序计数器的位置,因为此类变量的范围仅扩展到定义它们的函数。

调试器根据本地上下文解释局部变量。 默认情况下,此上下文与程序计数器的位置匹配。 但是,调试器可以更改上下文。 有关本地上下文的详细信息,请参阅“本地上下文”。

更改本地上下文时,将立即更新“局部变量”窗口,以反映局部变量的新集合。 dv 命令还显示新变量。 然后,所有这些变量名称都由上述内存命令正确解释。 然后,可以读取或写入这些变量。