Есть ли какие-либо простые способы отладки разветвленных дочерних процессов в * nix, без необходимости их спячки и создания новых экземпляров gdb, используя ps для получения pid ребенка? Есть ли отладчики, которые это делают?Отладка нескольких разветвленных процессов в * nix
3
A
ответ
6
Вы уже можете сделать это, используя gdb
. Вот как это делается:
(gdb) set detach-on-fork off
(gdb) set follow-fork-mode child
(gdb) catch fork # use breakpoint if catch fork not available
Затем в какой-то момент вы достигнете своей вилки. Перепрыгните через него, и gdb
должен сообщить вам, что есть новый процесс.
[New process 813]
На этом этапе вы должны рассматривать "" подчиненные
(gdb) info inferiors
Num Description Executable
* 2 process 813 /home/cnicutar/fork
1 process 810 /home/cnicutar/fork
Чтобы переключиться на другие ниже, используйте
(gdb) inferior 1
[Switching to inferior 1 [process 810] (/home/cnicutar/fork)]
[Switching to thread 1 (process 810)]
(gdb) info inferiors
Num Description Executable
2 process 813 /home/cnicutar/fork
* 1 process 810 /home/cnicutar/fork
Надеется, что это помогает :-)
Смежные вопросы
- 1. Ограничить количество разветвленных процессов
- 2. Как подсчитать количество разветвленных (под-?) Процессов
- 3. Почему fflush() влияет на выход разветвленных процессов?
- 4. Отладка Node.js процессов с cluster.fork()
- 5. Отправка объектов в качестве параметров для разветвленных процессов nodejs
- 6. Как изменить имя разветвленных процессов на Solaris в C?
- 7. Реализация Bakery алгоритма в C для разветвленных процессов
- 8. Как правильно подсчитать фактическое количество разветвленных дочерних процессов?
- 9. C, как использовать семафоры POSIX для разветвленных процессов?
- 10. C - именованный канал для нескольких разветвленных детей
- 11. Запуск асинхронных процессов с использованием C в * NIX
- 12. Как реализовать блокировку чтения/записи, предпочитающую запись для процессов * nix
- 13. fs.createWriteStream для нескольких процессов
- 14. Имитация нескольких пуассоновских процессов
- 15. Killing ошибки нескольких процессов
- 16. Запуск нескольких процессов оболочки
- 17. Запуск нескольких процессов в Eclipse
- 18. Запуск нескольких процессов в Баш
- 19. Создание нескольких процессов в C
- 20. Запуск нескольких процессов в параллельном
- 21. Запуск нескольких процессов в VHDL
- 22. Выполнение нескольких процессов
- 23. Конфигурация нескольких процессов
- 24. Дождитесь завершения нескольких процессов
- 25. витая служба нескольких процессов
- 26. Отладка процессов PHP началась с `proc_open`
- 27. C++ Getline не всегда получает строку в нескольких разветвленных процессах в Linux
- 28. Отладка нескольких потоков в Eclipse
- 29. Отладка нескольких решений в VS2010
- 30. Отладка нескольких файлов в DrRacket
Спасибо очень много: D – whalebiologist