我使用 xdebug 来调试和理解 php 项目中的代码已经有一段时间了,有时会遇到不清楚 PHP 内部发生了什么的情况。

是否可以设置 xdebug 或 gdb 以便我可以跟踪实际的 php 内置函数?

有帮助吗?

解决方案

如果您使用的是macosx,solaris或最近的freebsd系统,您可以对它进行一点点跟踪。对于那些数量众多的人来说,它可以派上用场,“WTF就是PHP吗?”时刻。

其他提示

我对此表示怀疑,xdebug旨在跟踪您的PHP代码,而不是内部。假设内部是无错误的(显然它们有时没有,但这超出了xdebug的范围)。

如果你想知道内置函数的作用,你可以随时查看PHP源代码,但这有时非常多毛。当我想知道他们将要做什么时,PHP手册文档总是很适合我。

如果您使用调试符号编译php,则可以使用gdb跟踪C级代码。看看这里开始:

http://derickrethans.nl/phps_segmentation_faults_gdbfu.php

测试Zend引擎输出的一种方法是,在操作码中查看,你可以使用 Derick Rethan的VLD (Vulcan Logic Dissasembler),它似乎也出现在上PECL 注意:仅适用于* nix系统(请参阅网站了解要求)。

调试这些操作码的一些示例可以在 Sara Golemon的博客<上找到/ a>,在诸如了解操作码和如何long是一段字符串?

还有很棒的 Google Chrome 扩展 PHP 控制台PHP库 这允许:

  • 在 Chrome JavaScript 控制台和通知弹出窗口中查看错误和异常。
  • 转储任何类型变量。
  • 远程执行 PHP 代码。
  • 通过密码保护访问。
  • 按请求对控制台日志进行分组。
  • 跳转到文本编辑器中的错误文件:行。
  • 将错误/调试数据复制到剪贴板(供测试人员使用)。

推荐给大家!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top