首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用GDB调试PHP解释器

使用GDB调试PHP解释器
EN

Stack Overflow用户
提问于 2010-04-11 12:49:09
回答 2查看 2.6K关注 0票数 2

我想使用GDB逐步执行组成php.so Apache扩展的C++代码。我想看看PHP在运行PHP应用程序时在做什么。我最好在LAMP系统上使用像Netbeans或Eclipse这样的IDE。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-11 13:27:12

如果你想要获得Apache (带有符号)或Apache (configure --enable-debug)

  • You的调试版本,你应该配置你的Apache始终保持一个工作进程实例(这将是你调试的实例),也就是说,将mod_phpbuild your ownMinSpareServers都设置为1。同时确保任何超时参数都是宽宏大量的set

  • Use gdbany graphical interface to gdb (例如ddd或<mod_php>C15build your own>),以附加到一个且唯一的Apache工作进程。在PHP源文件中放置一个断点,然后将浏览器continue.

  • Point到您的one服务器并访问一个PHP页。您的断点将被触发。如果你想在PHP脚本执行中的某个点唤醒调试器,从PHP和gdb生成一个SIGTRAP通常会满足你的要求。

玩得开心!

票数 6
EN

Stack Overflow用户

发布于 2010-04-11 13:28:51

也许你可以在windows上做到这一点。

但是,您最好的选择是在Unix机器上执行此操作。您必须在启用调试的情况下编译所有内容。GDB将需要访问这些目录以获取源代码。

然后,您必须运行apache,然后运行该进程。

为了在使用浏览器访问PHP/Apache时有时间进行连接,可以在PHP脚本中添加一个睡眠调用。如果您使用ps,您将看到进程处于睡眠状态。或者,您可以让它在休眠之前将其进程id写入tmp中的一个文件中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2616083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档