如何将监视命令输出记录到gdb中的文件

时间:2015-08-10 11:45:12

标签: debugging gdb

我想在gdb中使用watch命令记录寄存器更改,如下所示:

(gdb) watch $register-name

每当应用程序中的寄存器发生更改时gdb就会停止,我必须按c继续调试。有没有办法代替无限时间输入,我只是要求gdb将寄存器中的所有更改保存到文件中?

1 个答案:

答案 0 :(得分:1)

  

我必须按c继续调试。

请注意,按<Enter>将重复上一个命令(例如,之前的c)。

  

有没有办法代替无休止地输入,我只是要求gdb将寄存器中的所有更改保存到文件中?

不确定

(gdb) watch $rax
Watchpoint 2: $rax

(gdb) commands 2
Type commands for breakpoint(s) 2, one per line.
End with a line saying just "end".
>c
>end

# This is to prevent stop after every screen-full of output
(gdb) set height 0

(gdb) set logging on
Copying output to gdb.txt.

(gdb) continue

Voila:您现在已经在gdb.txt

中进行了所有更改