GDB - 无法获取命令历史记录

时间:2014-10-02 02:26:39

标签: gdb command history

我是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

我错过了什么?

感谢您的帮助。输入每个命令的速度越来越快。

珍妮

2 个答案:

答案 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执行,并且未启用历史记录保存。