GDB:如何从自动显示中删除变量

时间:2016-07-01 18:27:02

标签: gdb

我偶然发现了gdb的自动显示功能,这非常强大和方便。致电后

(gdb) display/i $pc
(gdb) display $rax

每个步骤后自动显示观察值:

(gdb) si
0x0804805e in print_loop_start ()
2: $rax = 0
1: x/i $pc
=> 0x804805e <print_loop_start+6>:  mov    0x4(%ebp,%eax,4),%ecx

但是如果不再感兴趣的话,我如何“取消”$ rax中的价值呢?

1 个答案:

答案 0 :(得分:15)

显示的Gdb帮助说:

  

&#34;使用undisplay取消之前发出的显示请求。&#34;

因此,如果您执行display a,那么display bdisplay c gdb将为此请求提供数字(您可以通过发出没有参数的重播来查看)。然后,您可以将此数字与undisplay一起使用。

示例:

(gdb) display a
1: a = 32767
(gdb) display b
2: b = 0
(gdb) display c
3: c = 0
(gdb) undisplay 2
(gdb) step
6     b = 2;
1: a = 1
3: c = 0

gdb documentation中的详细信息。