2014-10-02 2 views
1

Я новичок в GDB и не могу получить историю команд (автообновление/стрелка вверх для старых команд).GDB - не удается получить историю команд, работая

У моего корня у меня есть файл .gbd_init (и я также имею идентичный файл в моем рабочем каталоге):

set history save 

set history filename ~/.gbd_history 

set history on 

set history expansion on 

У меня также есть пустой .gbd_history файл в моем корневом каталоге.

В ГПБ «истории шоу» дает:

(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_history существует, но пуст.

[email protected] ~/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 

Что мне не хватает?

Спасибо за любую помощь. Ввод в каждую команду быстро стареет.

Jenny

ответ

0

Ваш .gdbinit сценарий явно не выполняется, так как вы можете видеть из вашего gdb_history файла, который имеет это значение по умолчанию (gdb_history в текущем каталоге).

Попробуйте выполнить этот скрипт инициализации в вашем текущем каталоге с помощью gdb -x .gdbinit, поскольку по умолчанию он может быть отключен. По крайней мере, мой gdb хочет, чтобы я установил какой-то безопасный путь автоматической загрузки, прежде чем он разрешит загрузку скриптов init, находящихся за пределами домашнего каталога. См. Подробности here.

Если вы хотите использовать историю только не придется повторять команды, вероятно, вы должны просто написать сценарий со всеми этими командами, и выполнить его с помощью GDB -x скрипта и т.д.

И, конечно, проверить this SO thread на как легко включить историю команд.

+0

Большое спасибо. Теперь работает. Я обновил свой файл .gdbinit, чтобы начать с «set auto-load safe-path /» , а затем вызвал gdb с помощью «gdb -q -iex» установить автоматическую загрузку безопасного пути/home/jenny »program -tui « и теперь работает команда history/up arrow. – Excelsior1024

0

У моего корня у меня есть файл .gbd_init (и я также имеют идентичный файл в моем рабочем каталоге):

Вы Ошибочное имя GDB инициализации файла. Его следует называть .gdbinit. .gbd_init не выполняется gdb, и сохранение истории не включается.