GDB Session Restore 保存、恢复会话

GDB中如何保存当前会话?GDB没有直接的命令,但是,GDB可以保存当前会话的命令历史,然后加载的时候,导入命令文件,执行完命令文件中的命令,就可以恢复会话。

保存一个会话,假设调试test,执行 gdb test 进入gdb:

1. set history filename ~/.gdb_history  # 设置~/.gdb_history为保存历史命令的文件

2. set history save on  # 开始记录命令

... gdb 操作

3. set history save off  # 停止记录命令,如果不执行这条命令,命令记录直到quit,包含quit

4. quit  # 退出gdb

命令1,2可以放在gdb statup file (~/.gdbinit)文件中,不用每次都输入了;


恢复前一个会话:

gdb -command=~/.gdb_history test  # 选项-command 选定保存命令的文件,gdb 会在加载被调试的文件后执行命令文件;

或者,在进入gdb 后,用 source 命令执行命令文件:

source ~/.gdb_history


参考:

1. Debug with GDB, Command Files

2. Debug with GDB, Command Histroy

3. http://stackoverflow.com/questions/3176800/how-can-i-make-gdb-save-the-command-history


你可能感兴趣的:(gdb)