Избавьтесь от приглашения "quit anyway" с помощью GDB: просто запустите процесс и закройте
Рассмотрим:
(gdb) q
A debugging session is active.
Inferior 1 [process 9018] will be killed.
Quit anyway? (y or n) y
Что такое параметр .gdbinit
, чтобы заставить GDB всегда убивать выполняющийся процесс по запросу quit?
Я знаю, что GDB может присоединяться к уже запущенным процессам, поэтому было бы неплохо убить их при выходе. Но для процессов, начатых с него, необходимость подтверждения ваших действий начинает раздражать при втором выходе.
Ответы
Ответ 1
Включение подтверждения вызывает глобальные отключения многих других полезных проверок, например, тот, который спрашивает вас, хотите ли вы действительно удалить все контрольные точки при вводе "delete".
Лучше отключить приглашение только для команды quit. Вы можете сделать это, добавив этот крючок в свой ~/.gdbinit(для текущего пользователя) или /etc/gdb/gdbinit (для всех пользователей):
define hook-quit
set confirm off
end
Ответ 2
set confirm off
Подробнее см. gdb doc
Ответ 3
Другим вариантом является определение новой команды, которая завершает работу без запроса подтверждения:
define qquit
set confirm off
quit
end
document qquit
Quit without asking for confirmation.
end
Теперь вы можете использовать qquit
или просто qq
для быстрого выхода без изменения поведения по умолчанию quit
Ответ 4
Тип: Ctrl + D
До
xx @yy: ~ >
(gdb)
После
(gdb) выйти
Тогда
xx @yy: ~ >