在WinDbg中,可以使用“监视”窗口显示和更改全局和局部变量您可以自定义此窗口以显示您正在跟踪的项。。“监视”窗口可以显示所需的任何变量列表。这些变量可以包括来自任何函数的全局变量和局部变量。任何时候,“监视”窗口都会显示与当前函数范围匹配的变量值。也可以通过“监视”窗口更改这些变量的值。
如何打开监视窗口
- 通过菜单View--->Watch
- 快捷键Alt+2
- 通过工具栏
监视窗口
通过上面的方式打开的窗口如下:
监视窗口可以包含四列。Name列和Value列始终显示,Typecast列和Locations列是可选的。要显示“Typecast”和“Locations”列,请分别单击工具栏上的“类型转换”和“位置”按钮。
在监视窗口中,可以执行以下操作:
-
若要输入中的地址名称字段中,该地址必须以具有十进制数字 (如有必要,使用该前缀0x)。
如果程序计数器输入在其中定义此名称的变量的函数,其值将出现在窗口中在该时间。
-
通过双击旧名称,键入新名称,然后按 ENTER,也可以使用新名称替换旧名称。
-
若要展开和折叠结构成员的显示,请选择或清除该复选框。
-
n (设置数量 Base) 命令在调试器命令窗口中。
-
如果提交无效的值后按 ENTER,,将重新出现的旧值。
n (设置数量 Base) 命令在调试器命令窗口中。
-
如果关闭并重新打开监视窗口,您将丢失的数据类型更改。
! teb 此符号的地址上的扩展。
-
位置列 (如果它显示在监视窗口中) 显示了一种数据结构的每个成员的偏移量。
-
除了变量之外,还可以监视监视窗口中的以下项:
- 与变量不同,不能更改寄存器值通过监视窗口。
- 这些成员展开类似于派生的类类型。
- 扩展插件的返回值函数,如_EFN_GetPoolData。
与“局部”窗口不同,“监视”窗口不受寄存器上下文更改的影响。在监视窗口中,您只能查看和修改在当前程序计数器范围内定义的变量。如果打开新工作区,监视窗口内容将被丢弃并替换为新工作区中的内容。