Функция 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,
    бу хатолар хисоботлари даражасини ўрнатади