控制跟踪哪个呼叫

时间:2018-09-10 09:28:32

标签: php xdebug stack-trace

我可以通过xdebug ini文件上的某些设置来控制呼叫跟踪的深度吗?

例如,如果我有以下代码:

<?php
  xdebug_start_trace('/var/www/html/trace/fac');
  print a(7);
  function a($x)
  {
    return b($x);
  }
  function b($x)
  {
    return c($x);
  }
  function c($x)
  {
    return $x;
  }
  xdebug_stop_trace();
?>;

我进入fac.xt:

TRACE START [2018-09-10 09:01:27]
    0.0008     358200     -> a($x = 7) /var/www/html/trace/index.php:5
    0.0008     358200       -> b($x = 14) /var/www/html/trace/index.php:9
    0.0008     358200         -> c($x = 42) /var/www/html/trace/index.php:14
    0.0008     358200          >=> 42
    0.0009     358200        >=> 42
    0.0009     358200      >=> 42
    0.0009     358200     -> xdebug_stop_trace() /var/www/html/trace/index.php:22
    0.0009     358256
TRACE END   [2018-09-10 09:01:27]

如何设置仅报告一个(7)呼叫?这与调用许多其他函数的函数很方便,并且一个人只想读取最里面的函数即可得到:

TRACE START [2018-09-10 09:01:27]
    0.0008     358200     -> a($x = 7) /var/www/html/trace/index.php:5
    0.0009     358200      >=> 42
    0.0009     358200     -> xdebug_stop_trace() /var/www/html/trace/index.php:22
    0.0009     358256
TRACE END   [2018-09-10 09:01:27]

0 个答案:

没有答案