PHP XDebug, как интерпретировать индикаторы строки стека вызовов?

при чтении стека вызовов XDebugger в каждой строке указывается время, использование памяти, имя функции и местоположение.

Как мне перехватить информацию о линиях стека вызовов?

  • Являются ли индикаторы времени и памяти только вызванной функцией или они складываются при каждом новом вызове функции?
  • Индикаторы памяти используются до или после вызова функции в этой строке стека?

Примечание:
Я прочитал документацию по xdebug, но она не прояснила эти вопросы для меня. По этой причине, пожалуйста, воздержитесь от ссылок на официальную документацию. С другой стороны, если вы нашли какое-то простое удобное руководство для таких вопросов: такие приветствуются!

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');
}
0

Другие решения

Других решений пока нет …