PHP XDebug如何解释Call Stack行指标?

时间:2014-12-17 10:37:36

标签: php xdebug callstack

读取XDebugger调用堆栈时,每行都有一个时间,内存使用,函数名称和位置指示。

我如何插入这些Call Stack行信息?

  • 时间和内存指示器只是被调用的函数的时间和内存指示符,还是每个新函数调用都会叠加?
  • 在该堆栈行上调用函数之前或之后的使用内存指示符是什么?

旁注: 我已经阅读了xdebug的文档,但它没有为我澄清这些问题。因此,请限制自己链接官方文档。另一方面,如果您找到了类似这样的问题的简单方便指南:欢迎使用这些指南!

1 个答案:

答案 0 :(得分:0)

我诚实没有直接答案,因为我从不关心XDEBUG中显示的那些变量。但你有没有考虑过自己找到它?您所需要的只是创建一个非常大的TXT文件并导致错误。您应该能够查看每个函数调用的时间是增量还是重置,以及内存使用情况。

function foo() {
     longFunction();
     quickFunction();
     bigFunction(); // This will probably take a certain amount of time too.
     quickFunction(); // See if calling a small function again keeps the memory usage high.
     maybeCallUndeclaredFunction(); // I think this will cause stack to be shown.
}

function longFunction(){
    for($i = 0; $i < 999999999; $i++){

    }
}

function quickFunction(){
   return null;
}

function bigFunction() {
   $content = file_get_contents('big.txt');
}