如何解释 Xdebug 计算机化跟踪输出?

Posted

技术标签:

【中文标题】如何解释 Xdebug 计算机化跟踪输出?【英文标题】:How does one interpret Xdebug computerized trace output? 【发布时间】:2013-02-13 19:05:43 【问题描述】:

XDebug 以下列形式输出计算机化的输出:

5   33  0   0.003569    193040  function_exists 0       E:\Dropbox\Websites\flyingpiranhas\wireframework\vendor\swiftmailer\swiftmailer\lib\swift_required.php  24  1   '_swiftmailer_init'
5   33  1   0.003609    193040
5   34  0   0.003620    193008  Swift::registerAutoload 1       E:\Dropbox\Websites\flyingpiranhas\wireframework\vendor\swiftmailer\swiftmailer\lib\swift_required.php  32  1   $callable = '_swiftmailer_init'
6   35  0   0.003661    193472  spl_autoload_register   0       E:\Dropbox\Websites\flyingpiranhas\wireframework\vendor\swiftmailer\swiftmailer\lib\classes\Swift.php   79  1   array (0 => 'Swift', 1 => 'autoload')
6   35  1   0.003712    193560
5   34  1   0.003728    193240

如您所见,ID为33的函数入栈,退出,一切正常。但是看 34。函数调用 34 进入堆栈,然后 35 运行并执行,然后才打印 34 的退出。

我想知道的是,我该如何解释?这是否意味着函数 34 持续了 108 毫秒(直到最后一行)并且它等待 35 完成,或者我应该将 41 毫秒视为它的持续时间,即直到函数 35 开始?这与“水平”有关吗?如果有,怎么做?

【问题讨论】:

【参考方案1】:

你是对的,34 等待 35 完成持续 108 毫秒。

【讨论】:

我相信你的话。谢谢。

以上是关于如何解释 Xdebug 计算机化跟踪输出?的主要内容,如果未能解决你的问题,请参考以下文章

Xdebug 跟踪格式 1 输出

Xdebug - 没有配置文件或跟踪输出

PHP 中的跟踪语句

Xdebug的优点!php代码开发

1图像处理基础

PHP调试跟踪之XDebug使用总结