Отключение gdb после разветвления от дочернего процесса – отключить?
Вопрос
Получение этого сообщения внутри gdb.Я знаю, что это не ошибка или что-то в этом роде.Я также сделал нумерацию страниц, так что это не проблема.
Есть ли способ подавить это сообщение?
Решение
Мне было любопытно увидеть, что этот вопрос остался без ответа ...
Я получил руководство по GDB , и там написано (частично - p33 9-го издания PDF для GDB версии 7.0.50.20091228 '):
Чтобы получать уведомления, когда подчиненные запускаются или выходят из-под контрольного использования gdb
установить события печати ниже
:set print inferior-events set print inferior-events on set print inferior-events off
Команда
set print inferior-events
позволяет включать или отключать печать сообщений, когда GDB замечает, что новые подчиненные начали или что подчиненные вышли или были отстранены. По умолчанию эти сообщения будут не будет напечатано.show print inferior-events
Показать, будут ли печататься сообщения, когда GDB обнаружит, что подчиненные начался, вышел или был отсоединен.
Единственное, что меня беспокоит, это то, что это означает, что вы не должны видеть сообщения по умолчанию. Просто убедитесь, что ваши настройки соответствуют настройкам по умолчанию и не переопределяйте их.
Раздел 4.11 «Отладка Forks» (pp38-40) также выглядит актуально для вас.
Другие советы
Я пытался set print inferior-events off
, но это не отключило сообщение.На самом деле, print inferior-events
был уже выключен еще до того, как я попытался его выключить.
Я просмотрел gdb
исходный код и обнаружил, что print inferior-events
контролирует печать сообщений "[New inferior %d]"
, "[Inferior %d exited]"
, и "[Inferior %d detached]"
только.
Сообщение Detaching after fork from child process
контролируется verbose
и debug lin-lwp
вместо этого варианты.Однако, в системах Fedora сообщение всегда печатается потому что у них есть патч (а именно gdb-6.6-bz235197-fork-detach-info.patch
) который превращается
if (info_verbose || debug_linux_nat)
в
if (1 /* Fedora Bug 235197 */ || info_verbose || debug_linux_nat)
.Так что вы никогда не сможете его отключить, если только не удалите патч из исходников и не скомпилируете его заново.