是否有任何`debug_backtrace()`函数模拟在zf2中监视调用堆栈,或者是否有任何方法来调试zf2中的调用跟踪?

时间:2014-05-23 16:46:09

标签: php debugging zend-framework2 debug-backtrace

简介

我在zf2中遇到奇怪的错误。我不知道为什么,但我收到一些路由错误。我没有收到任何消息,但是需要的控制器没有加载,而另一个则没有。一切都很好,所以在这里请求帮助我解决这个问题并不是一个好主意,所以我试着自己调试一下。


我尝试了什么?

我在/public/index.php文件中尝试了debug_backtrace()功能,如下所示:

// Setup autoloading
require 'init_autoloader.php';

// Run the application!
Zend\Mvc\Application::init(require 'config/application.config.php')->run();

var_dump(debug_backtrace());

它没有显示任何内容。

只是检查功能是否正常我试过:

function bob() {
    var_dump(debug_backtrace());
}

bob();

这向我展示了params传递了什么,调用了哪些函数等。这告诉我,该函数执行正确,但在我的情况下不使用此函数。


问题

有没有办法让应用程序中执行哪些功能?

2 个答案:

答案 0 :(得分:1)

我认为你稍微误解了debug_backtrace()的作用。它列出了在回溯所在的代码中导致该位置的函数调用。因此,在您的bob()示例中,它会显示该函数(调用bob())。但是如果你只是在debug_backtrace()中调用public/index.php,那么就不会在任何函数中执行,这就是为什么你没有得到任何输出。

答案 1 :(得分:0)

我不确定您安装不同的堆栈有多合理,但ZendServer内置了代码跟踪/分析功能,这正是您所寻找的。