打印执行的PHP代码(代码路径)

时间:2010-12-12 23:17:46

标签: php xdebug

我有一个脚本,其中包含很多嵌套的包含和函数,它们可以在很多条件下相互调用。基本上,它是编码的噩梦。

有什么办法可以“打印”执行的PHP代码吗?我的意思是,打印代码的实际流程和脚本从头到尾的路径?

3 个答案:

答案 0 :(得分:2)

您可以尝试debug_backtrace()debug_print_backtrace()

此外,我建议使用 Xdebug 。它会在异常上打印一个非常有用的堆栈跟踪(您可以将其配置为打印出每个方法参数和每个局部变量(xdebug.collect_params=4xdebug.show_local_vars=on配置参数)。

答案 1 :(得分:2)

PHP无法开箱即用。您需要在PHP开发机器上安装the xDebug extension。安装后,您可以使用the code coverage function来确定已执行的行。

缺乏这一点,我创建了一个简单的调试功能,以包含在代码的顶部

public function myDebugString($string)
{
    file_put_contents('/tmp/debug.log',"$string\n",FILE_APPEND);
    return;
}

然后在整个代码中添加对此的调用

myDebugString('Called at ' . __LINE__);

然后拖尾创建的日志文件。完成后,删除调试语句是编辑器的简单查找/替换操作。

许多框架都有调试对象,这些调试对象的构建方式比构建它更多,但是如果你处理独立代码,那么像这样的简单代码应该足以让你通过。

答案 2 :(得分:0)

查看code coverage工具。这允许您识别脚本运行时实际执行的那些函数和代码行