题
我使用 xdebug 来调试和理解 php 项目中的代码已经有一段时间了,有时会遇到不清楚 PHP 内部发生了什么的情况。
是否可以设置 xdebug 或 gdb 以便我可以跟踪实际的 php 内置函数?
解决方案
如果您使用的是macosx,solaris或最近的freebsd系统,您可以对它进行一点点跟踪。对于那些数量众多的人来说,它可以派上用场,“WTF就是PHP吗?”时刻。
其他提示
我对此表示怀疑,xdebug旨在跟踪您的PHP代码,而不是内部。假设内部是无错误的(显然它们有时没有,但这超出了xdebug的范围)。
如果你想知道内置函数的作用,你可以随时查看PHP源代码,但这有时非常多毛。当我想知道他们将要做什么时,PHP手册文档总是很适合我。
如果您使用调试符号编译php,则可以使用gdb跟踪C级代码。看看这里开始:
测试Zend引擎输出的一种方法是,在操作码中查看,你可以使用 Derick Rethan的VLD (Vulcan Logic Dissasembler),它似乎也出现在上PECL 。 注意:仅适用于* nix系统(请参阅网站了解要求)。
调试这些操作码的一些示例可以在 Sara Golemon的博客<上找到/ a>,在诸如了解操作码和如何long是一段字符串?。
不隶属于 StackOverflow