Подтвердить что ты не робот

Избавьтесь от приглашения "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 может присоединяться к уже запущенным процессам, поэтому было бы неплохо убить их при выходе. Но для процессов, начатых с него, необходимость подтверждения ваших действий начинает раздражать при втором выходе.

4b9b3361

Ответ 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: ~ >