Как предотвратить выход GDB при достижении execve? - PullRequest
0 голосов
/ 17 апреля 2020

В настоящее время выполняется отладка в csh, как и в римейке, я использовал:

set follow-fork-mode child, чтобы следовать за дочерней программой после fork, но до выхода из системного вызова execve GDB exit, и я получил следующее сообщение:

process 11217 is executing new program: /usr/bin/cat zsh: suspended (tty output) gdb ./mysh

Как я могу это предотвратить?

Заранее спасибо!

1 Ответ

1 голос
/ 17 апреля 2020

Похоже, ребенка отстранили?

Вы можете позволить ребенку бегать с:

set detach-on-fork on

Это значение по умолчанию. С помощью show detach-on-fork вы можете проверить, было ли оно выключено (возможно, через .gdbinit?).

Чтобы следовать процессу exe c 'ed, вы можете использовать:

set follow-exec-mode new

Вы также можете переключаться между несколькими процессами, используя inferior. Сначала получите младшие номера через:

info inferiors

Затем для переключения:

inferior <num>
...