Способы отладки gdb’ом или ddd’ом приложения с fork()

Я разрабатываю клиент серверное приложение на языке программирования C (Си). У меня как и у всех разработчиков возникает необходимость запуска приложения под отладчиком. В однопоточном приложении и приложении с thread'ами (нитями) все достаточно стандартно - просто запускаем его через $ gdb мое_приложение. Но в случае если отладчик наткнется на вызов fork() он переключится на parent (родитель) процесс, хотя обычно, в демонах, после первого fork()'а родитель завершает свою работу и по смылу нужно отлаживать child процесс. Для ddd и gbd можно писать скрипты при помощи которых можно указывать отладчику идти по parent пути или по child, также можно цепляться уже к запущенному и работающему приложению. Сейчас мы и разберем все эти способы отладки.

Теги: , , , , ,

Дата: 8 ноября 2012

Автор: andreykyz

Комментарии: 0