Функцыя 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,
    якая ўсталёўвае ўзровень справаздач аб памылках