при чтении стека вызовов XDebugger в каждой строке указывается время, использование памяти, имя функции и местоположение.
Как мне перехватить информацию о линиях стека вызовов?
Примечание:
Я прочитал документацию по xdebug, но она не прояснила эти вопросы для меня. По этой причине, пожалуйста, воздержитесь от ссылок на официальную документацию. С другой стороны, если вы нашли какое-то простое удобное руководство для таких вопросов: такие приветствуются!
Честно говоря, у меня нет прямого ответа, потому что я никогда не заботился о переменных, показанных в 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');
}
Других решений пока нет …