Отладка php расширения в gdb

NT Man

Новичок
Нужна помощь в отладке расширения так как опыта в этом нет.
1) Скомпилировал php с отладочными символами
2) Стартовал php-fpm
3) Запустил отладчик gdb
4) Присоеденил его к процессу gdb -pid=xxxx
5) Установил точку останнова
(gdb) break oci_statement.c:121
Breakpoint 1 at 0x2b0067d0dadd: file /root/rpmbuild/BUILD/php-5.3.8/ext/pdo_oci/oci_statement.c, line 121.

как видно никакой ругани, но когда вызываю из скрипта операции с ораклом отладчик не останавливается.

что я делаю не так? помогите пожалуйста!
 

tony2001

TeaM PHPClub
у FPM наверняка не один процесс ведь.
запусти его с одним чайлдом и к этому чайлду и цепляйся.
 

NT Man

Новичок
tony2001, спасибо. Не знал, что дочерние процессы gdb не ловит. На всякий случай спрошу, можно ли сделать, чтобы ловились точки останова в порожденных процессах?
 

tony2001

TeaM PHPClub
GDB следит за одним процессом.
Он может следовать за форком, а может оставаться в паренте, но следить сразу за всеми чайлдами не выйдет точно.
Да и зачем? Я бы вообще рекомендовал дебажить с PHP CLI, без всяких этих многопроцессных заморочек.
more info: http://www.delorie.com/gnu/docs/gdb/gdb_26.html
 

tony2001

TeaM PHPClub
Кстати, что касается OCI8 & PDO_OCI, лучше всего прямо обратиться к Chris Jones - [email protected] или в IRC - EFNet, #php.pecl, cjorcl.
За OCI8 он отвечает, но может и PDO помочь, я думаю.
 

fixxxer

К.О.
Партнер клуба
Если очень надо дебажить именно fpm, удобно его запустить с daemonize=false и с 1 воркером.
 
Сверху