php - 使用 GDB 调试 PHP 解释器

标签 php eclipse debugging gdb lamp

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

最佳答案

  1. 您想要获得 mod_php(带符号)或 build your own 的调试版本(配置 --enable-debug)
  2. 您应该将 Apache 配置为始终保持一个工作进程实例处于运行状态(这将是您调试的实例),即设置 MinSpareServers , MaxSpareServersStartServers全部设置为 1。还要确保充分设置所有超时参数
  3. Use gdbany graphical interface to gdb (例如 dddEclipse CDT )以附加到唯一的 Apache 工作进程。在 PHP 源等之一中设置断点并继续。
  4. 将浏览器指向您的网络服务器并访问 PHP 页面。您的断点将触发。如果您想在 PHP 脚本执行中的特定点唤醒调试器,请从 PHP 生成 SIGTRAPgdb 通常会满足您的要求。

玩得开心!

关于php - 使用 GDB 调试 PHP 解释器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2616083/

相关文章:

php - Apache 2.4.23 PHP7.x Windows 10 x64 php_curl 不工作

php - woocommerce 上的 Wordpress 照片大小问题

java - 在 jar 的 Eclipse 中附加源代码

eclipse - Datanucleus 增强器意外异常

java - 以阻塞方式轻松在屏幕上打印图像以进行调试

php - 收到错误 'Error: INSERT INTO ` call`.`logs` (id, hashkey, ) VALUES (, XXX, )'

android - 如何在 Eclipse 中重构 R.java 的包

debugging - Visual VoiceXML/VXML 开发工具?

c++ - 调试 .DLL 注入(inject)问题 - 假定执行代码未被命中的断点

php - 将 sql 结果显示为 html 可选元素