我想使用GDB逐步执行组成php.so Apache扩展的C++代码。我想看看PHP在运行PHP应用程序时在做什么。我最好在LAMP系统上使用像Netbeans或Eclipse这样的IDE。
发布于 2010-04-11 05:27:12
如果你想要获得Apache (带有符号)或Apache (configure --enable-debug
)
mod_php
、build your own和MinSpareServers
都设置为1。同时确保任何超时参数都是宽宏大量的set
gdb
或any graphical interface to gdb
(例如ddd
或<mod_php
>C15build your own>),以附加到一个且唯一的Apache工作进程。在PHP源文件中放置一个断点,然后将浏览器continue.
gdb
生成一个SIGTRAP
通常会满足你的要求。玩得开心!
发布于 2010-04-11 05:28:51
也许你可以在windows上做到这一点。
但是,您最好的选择是在Unix机器上执行此操作。您必须在启用调试的情况下编译所有内容。GDB将需要访问这些目录以获取源代码。
然后,您必须运行apache,然后运行该进程。
为了在使用浏览器访问PHP/Apache时有时间进行连接,可以在PHP脚本中添加一个睡眠调用。如果您使用ps,您将看到进程处于睡眠状态。或者,您可以让它在休眠之前将其进程id写入tmp中的一个文件中。
https://stackoverflow.com/questions/2616083
复制相似问题