我偶然发现了gdb的自动显示功能,这非常强大和方便.打电话后
(gdb) display/i $pc
(gdb) display $rax
Run Code Online (Sandbox Code Playgroud)
每个步骤后自动显示观察值:
(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
Run Code Online (Sandbox Code Playgroud)
但是,如果不再感兴趣,我如何"取消"$ rax中的价值?
dbr*_*nk0 17
Gdb显示帮助说:
"
undisplay用于取消之前发出的显示请求."
所以,如果你这样做display a的话display b,和display cGDB将这个请求(你可以通过重播发出不带任何参数见)给出的数字.然后你可以使用这个数字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
Run Code Online (Sandbox Code Playgroud)
gdb文档中的详细信息.
| 归档时间: |
|
| 查看次数: |
8766 次 |
| 最近记录: |