0

我正在调试一个庞大而混乱的 PHP 代码库。

该应用程序当前行为异常并将所有流量重定向到登录屏幕,因为它似乎无法启动会话。

我用 xDebug 跟踪了这样一个场景,只看到main,根本没有分支。

这是否意味着未捕获的异常正在完全展开堆栈?

如果是这种情况,即使发生这种情况,有没有办法获得调用图?

主要的

4

1 回答 1

1

调用图应该显示所有被调用的函数,当然,如果没有被调用,你只会看到“main()”(例如,如果在 main 中你试图调用一个未定义的函数)。使用 Xdebug,您可以通过“函数跟踪”来跟踪调用了哪些函数,您可以通过设置“xdebug.auto_trace=1”来启用它。然后,您将在 /tmp 中获得一个以 .xt 结尾的文件,其中列出了所有函数调用。您还可以在http://www.xdebug.org/docs/execution_trace#collect_assignments中包含更多信息

解决调试问题的另一种方法是使用单步调试(也称为远程调试),许多 IDE 支持与 Xdebug 结合使用。有关更多信息,请参阅:http ://www.xdebug.org/docs/remote

于 2013-07-11T10:10:57.147 回答