Используя gdb, я пытаюсь проследить вызовы функции веб-сервера. Я установил точки останова на каждом вызове функции и когда я говорю gdb 'работать', он повреждается во всех правильных местах, в то время как сервер запускает. Затем gdb говорит 'Программу, законченную кодом 01', и не останавливается в точках останова больше (очевидно). Однако веб-сервер все еще работает.
Я хочу смочь проследить вызовы функции, сделанные на входящем Запросе HTTP, поэтому просто повреждающийся во время запуска сервера бесполезно мне.
Там некоторый прием к использованию gdb при трассировке сервера демона так, чтобы это только закончилось как вышеупомянутый?
Вы не сказали, какой сервер вы пытаетесь отследить, но скорее всего это Apache.
Подробные инструкции здесь . Обратите внимание на аргумент командной строки -X
, который предотвращает дочерние элементы httpd.
Также обратите внимание, что инструкции являются первым результатом поиска this.
.установить дочернее устройство режима follow-fork
см. https://sourceware.org/gdb/onlinedocs/gdb/Forks.html, например
.