Функция 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,
    която задава ниво на докладване на грешки