IMO очевидная читаемая версия сначала, пока уровень не измерен и более быстрая версия, требуется.
Если вы хотите сгенерировать обратную трассировку, вам нужно найти debug_backtrace
и / или debug_print_backtrace
.
Например, первый будет , получите такой массив (цитируя руководство) :
array(2) {
[0]=>
array(4) {
["file"] => string(10) "/tmp/a.php"
["line"] => int(10)
["function"] => string(6) "a_test"
["args"]=>
array(1) {
[0] => &string(6) "friend"
}
}
[1]=>
array(4) {
["file"] => string(10) "/tmp/b.php"
["line"] => int(2)
["args"] =>
array(1) {
[0] => string(10) "/tmp/a.php"
}
["function"] => string(12) "include_once"
}
}
Очевидно, они не будут сбрасывать буфер ввода-вывода, но вы можете сделать это самостоятельно, используя flush
и / или ob_flush
.
(см. справочную страницу первого, чтобы узнать, почему "и / или" ;-))
Вы можете посмотреть debug_backtrace
или, возможно, debug_print_backtrace
.
Используйте debug_backtrace
, чтобы получить обратную трассировку того, какие функции и методы были вызваны и какие файлы были включены, что привело к тому, что debug_backtrace
имеет
См. debug_print_backtrace
. Я думаю, вы можете потом коллировать flush
, если хотите.