Функция debug_print_backtrace

Функция debug_print_backtrace выводит информацию о текущем стеке вызовов - последовательности функций, которые привели к текущей точке выполнения. Функция не возвращает значение, а сразу выводит результат. Первым параметром можно указать флаги для изменения формата вывода, вторым - ограничение количества выводимых уровней.

Синтаксис

phpdebug_print_backtrace(int $options = 0, int $limit = 0): void

Пример

Простой пример вызова функции:

php<?php
  function a() {
    b();
  }
  function b() {
    debug_print_backtrace();
  }
  a();
?>

Результат выполнения кода:

php#0  b() called at [test.php:4]
#1  a() called at [test.php:8]

Пример

Использование параметра limit для ограничения вывода:

php<?php
  function x() {
    y();
  }
  function y() {
    z();
  }
  function z() {
    debug_print_backtrace(0, 2);
  }
  x();
?>

Результат выполнения кода:

php#0  z() called at [test.php:9]
#1  y() called at [test.php:6]

Пример

Использование опций для изменения формата вывода:

php<?php
function test1() {
  test2();
}
function test2() {
  debug_print_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
}
test1();
?>

Результат выполнения кода (без аргументов функций):

php#0  test2() called at [test.php:4]
#1  test1() called at [test.php:8]

Смотрите также

  • функцию debug_backtrace,
    которая возвращает трассировку стека в виде массива
  • функцию error_reporting,
    которая устанавливает уровень отчетов об ошибках