Есть некая программа которая при работе вызывает кучу модулей. Вызваются они комбинацией vfork/exec. Далее через шеловский скрипт открывается сам модуль, и если нужно то с отладчиком. Как привязать отладчик к самой программе так чтобы он отслеживал запуски этих модулей и сам к ним привязывался? gdb вроде как сказано в документации поддерживает работу с форками и должен сам их перехватывать, но:
(gdb) b 16
Breakpoint 1 at 0x80483f9: file main.c, line 16.
(gdb) run
Starting program: /root/dev/forks/main
Hello world!
Breakpoint 1, main () at main.c:16
16 printf("No Fork\n");
(gdb) info forks
No forks.
(gdb) c
Continuing.
No Fork
Program exited normally.
(gdb) Fork
set follow-fork-mode режим
Устанавливает реакцию отладчика на вызов fork или vfork в программе. Вызов fork или vfork создает новый процесс. режим может быть:
parent
После ветвления отлаживается исходный процесс. Дочерний процесс выполняется беспрепятственно. Это поведение по умолчанию.
child
После ветвления отлаживается новый процесс. Родительский процесс выполняется беспрепятственно.
ask
Отладчик будет запрашивать один из этих вариантов.
show follow-fork-mode
Отображает текущую реакцию отладчика на вызов fork или vfork.