这个问题说明了一切,真的。我试图弄清楚为什么一个php应用程序会出现问题,但是xdebug抛给我的数据量太大,很难理解它的流程。如果我可以设置跟踪的深度,使得任何超过x层的调用都被跳过,那么就更容易理解发生了什么,有什么想法可以让xdebug做到这一点,或者有没有其他工具可以使用?
nwsw7zdq1#
Xdebug对文件的函数/执行跟踪目前不支持这一点,而且Xdebug的stacktraces也总是显示整个堆栈我刚刚为它添加了一个特性请求到问题跟踪器:http://bugs.xdebug.org/view.php?id=722德里克
qkf9rpyu2#
您可以通过在代码中调用functions、xdebug_start_trace()和xdebug_stop_trace()来告诉Xdebug在何处开始和停止函数跟踪。使用Xdebug 2.4或更高版本,您还可以通过调用functionxdebug_start_function_monitor( array $list_of_functions_to_monitor )来限制Xdebug仅跟踪某些函数的执行。数组包含您要跟踪的函数列表。
xdebug_start_trace()
xdebug_stop_trace()
xdebug_start_function_monitor( array $list_of_functions_to_monitor )
mspsb9vt3#
一个小把戏:给定跟踪文件 file_name,您可以用途:
grep -E '[[:digit:]][[:space:]]{,n}->' file_name
比如说
grep -E '[[:digit:]][[:space:]]{,3}->' file_name
会给予你最高级别的电话。
3条答案
按热度按时间nwsw7zdq1#
Xdebug对文件的函数/执行跟踪目前不支持这一点,而且Xdebug的stacktraces也总是显示整个堆栈我刚刚为它添加了一个特性请求到问题跟踪器:http://bugs.xdebug.org/view.php?id=722
德里克
qkf9rpyu2#
您可以通过在代码中调用functions、
xdebug_start_trace()
和xdebug_stop_trace()
来告诉Xdebug在何处开始和停止函数跟踪。使用Xdebug 2.4或更高版本,您还可以通过调用function
xdebug_start_function_monitor( array $list_of_functions_to_monitor )
来限制Xdebug仅跟踪某些函数的执行。数组包含您要跟踪的函数列表。mspsb9vt3#
一个小把戏:
给定跟踪文件 file_name,您可以用途:
比如说
会给予你最高级别的电话。