如何在退出gdb前获取完整的命令历史记录?
从运行中的GDB实例获取命令历史的方法
用GDB内置
history命令直接操作
直接在GDB提示符里输入history,默认显示最近10条命令;要查看全部历史就输history full,也可以指定条数比如history 200显示最近200条。如果要把历史存成文件方便后续用gdb -x FILE执行,直接用history save <文件名>,比如history save ~/my_gdb_cmds.txt,当前所有命令历史就会写入这个文件。实时读取GDB历史文件
GDB默认把历史存在~/.gdb_history,但默认是退出才写入。先在GDB里执行set history save on,开启实时写入功能,之后在外部终端或者Neovim里直接读取这个文件就行,比如用cat ~/.gdb_history查看,或者直接在Neovim里打开编辑。借助GDB的Python API(进阶)
GDB支持Python脚本,能通过接口获取历史。在GDB里运行这段代码就能打印所有历史命令:import gdb cmd_history = gdb.execute("history full", to_string=True) for line in cmd_history.split('\n'): if line.strip(): print(line)也可以直接用Python把历史写入文件:
gdb.execute("history save ~/gdb_history.txt", to_string=True)
内容的提问来源于stack exchange,提问作者Jay-Pi
相关产品推荐
相关产品推荐

