我想使用GDB来完成构成php.so Apache扩展的C ++代码。我想看看PHP在运行PHP应用程序时正在做什么。我最好在LAMP系统上使用像Netbeans或Eclipse这样的IDE。
答案 0 :(得分:5)
mod_php
(带符号)或build your own(configure --enable-debug
)MinSpareServers
,MaxSpareServers
和StartServers
全部1.还要确保设置任何超时参数gdb
或any graphical interface to gdb
(例如ddd
或Eclipse CDT)附加到唯一的Apache工作进程。在其中一个PHP源代码中粘贴断点并继续。SIGTRAP
,gdb
通常会强制要求您。玩得开心!
答案 1 :(得分:0)
也许你可以在Windows上做到这一点。
但是,最好的办法是在Unix机器上执行此操作。您必须在启用调试的情况下编译所有内容。 GDB需要访问这些源目录。
然后你必须运行apache然后运行这个过程。
为了在使用浏览器访问PHP / Apache时给自己留出时间,请在PHP脚本中添加一个sleep调用。如果你ps,你会看到进程处于睡眠状态。或者你可以让它在进入睡眠状态之前将其进程ID写入tmp中的文件。