Как я могу настроить gdb
так, чтобы это сохранило историю команд? При запуске нового gdb
сессия я хотел бы использовать стрелку ключи для доступа к командам предыдущих сессий.
Краткий ответ: echo 'установить сохранение истории в' >> ~ / .gdbinit && chmod 600 ~ / .gdbinit
Длинный ответ:
История команд описана в руководстве GDB, 22.3 История команд . Создайте файл $ HOME / .gdbinit
, измените его права доступа на 0600
и добавьте следующее содержимое:
set history save on
Вы можете установить количество сохраненных прошлых команд следующим образом. Команда описана как «Установите количество команд, которые gdb хранит в своем списке истории. По умолчанию используется значение переменной среды GDBHISTSIZE, или 256, если эта переменная не установлена. Нечисловые значения GDBHISTSIZE - это игнорируется. Если размер не ограничен или если GDBHISTSIZE является либо отрицательным числом, либо пустой строкой, то количество команд, которые GDB сохраняет в списке истории, не ограничено ».
set history size <size>
Связанная команда set history remove-duplicates
. Команда описана как «Управлять удалением повторяющихся записей истории в списке истории команд. Если count не равно нулю, GDB обратится к последним записям истории подсчета и удалит первую запись, которая является дубликатом текущая запись добавляется в список истории команд. Если число не ограничено, то этот просмотр назад не ограничен. Если число равно 0, то удаление повторяющихся записей истории отключено ».
set history remove-duplicates <count>
По умолчанию gdb сохраняет историю в файл ./.gdb_history в текущем каталоге . Если вы хотите, чтобы история ваших команд не зависела от каталога, в котором вы находитесь, также включите:
set history filename ~/.gdb_history