我是GDB的新手,无法获取命令历史记录(自动完成/向上箭头指向旧命令)。
在我的根目录下,我有一个.gbd_init文件(我的工作目录中也有一个相同的文件):
set history save
set history filename ~/.gbd_history
set history on
set history expansion on
我的根目录下还有一个空的.gbd_history文件。
在GBD'显示历史'给出:
(gdb) show history
expansion: History expansion on command input is on.
filename: The filename in which to record the command history is
"/home/jenny/C_Programs/CS575_Algorithms/HW3/Problem1/.gdb_history".
save: Saving of the history record on exit is on.
size: The size of the command history is unlimited.
(gdb)
但是GBD命令' show命令'什么都不产生,向上箭头和标签不做任何事情。
.gbd_history文件存在,但为空。
jenny@jennys-virtual-machine ~/C_Programs/CS575_Algorithms/HW3/Problem1 $ ls -ls .gbd*
0 -rwxrwxrwx 1 jenny jenny 0 Oct 1 22:16 .gbd_history
4 -rwxrwxrwx 1 jenny jenny 94 Oct 1 22:01 .gbdinit
我错过了什么?
感谢您的帮助。输入每个命令的速度越来越快。
珍妮
答案 0 :(得分:0)
你的.gdbinit脚本显然没有被执行,你可以从你的gdb_history文件名中看到,它有默认值(当前目录中的gdb_history)。
尝试使用gdb -x .gdbinit在当前目录中执行此init脚本,因为默认情况下可能会禁用它。至少我的gdb希望我设置某种自动加载安全路径,然后才允许加载驻留在主目录之外的init脚本。详情请见here。
如果您只想使用历史记录而不必重复命令,则应该只编写包含所有这些命令的脚本,并使用gdb -x脚本等执行它。
请务必检查this SO thread 如何轻松启用命令历史记录。
答案 1 :(得分:0)
在我的根目录下,我有一个.gbd_init文件(我也有一个相同的文件 在我的工作目录中):
您有错误的gdb init文件名。它应该命名为.gdbinit
。 <{1}}未被gdb执行,并且未启用历史记录保存。