debug_backtrace

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

debug_backtraceHata izleme raporunu bir dizi olarak üretir

Açıklama

debug_backtrace(int $seçenekler = DEBUG_BACKTRACE_PROVIDE_OBJECT, int $sınır = 0): array

Hata izleme raporunu (backtrace) bir dizi olarak üretir.

Bağımsız Değişkenler

seçenekler

Aşağıdaki seçeneklerin bit maskesidir:

debug_backtrace() seçenekleri
DEBUG_BACKTRACE_PROVIDE_OBJECT "object" indisinin doldurulup doldurulmayacağı.
DEBUG_BACKTRACE_IGNORE_ARGS Bellek kazanmak için "args" indisinin ve dolayısıyla tüm işlev/yöntem bağımsız değişkenlerinin atlanıp atlanmayacağı.

Bilginize:

Olası dört durum vardır:

debug_backtrace() seçenekleri
debug_backtrace() Her iki indis doldurulur.
debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT)
debug_backtrace(1)
debug_backtrace(0) "object" indisini atlar ve "args" indisini doldurur.
debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS) "object" ve "args" indisi atlanır.
debug_backtrace(2)
debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT|DEBUG_BACKTRACE_IGNORE_ARGS) "object" indisini doldurur ve "args" indisini atlar.
debug_backtrace(3)

sınır

Bu bağımsız değişken döndürülecek yığıt çerçevelerinin sayısını sınırlamak için kullanılmaktadır. Öntanımlı değer, tüm yığıt çerçevelerinin dönmesini sağlayan 0 değeridir.

Dönen Değerler

Bir ilişkisel diziler dizisi döner. Dönmesi olası değerler:

debug_backtrace() işlevinden dönmesi olası elemanlar
İsim Tür Açıklama
function string O anki işlev ismi. Ayrıca bakınız: __FUNCTION__.
line int O anki satır numarası. Ayrıca bakınız: __LINE__.
file string O anki dosya ismi. Ayrıca bakınız: __FILE__.
class string O anki sınıf ismi. Ayrıca bakınız: __CLASS__
object object O anki nesne.
type string O anki çağrı türü. Bir yöntem çağrısı ise "->", bir statik yöntem çağrısı ise "::" içerir. Bir işlev çağrısı ise hiçbir şey içermez.
args array Bir işlevde, işlevin bağımsız değişkenlerini; bir dosyada, dahil edilen dosyalar varsa dahil edilen dosya isimlerini içerir.

Örnekler

Örnek 1 - debug_backtrace() örneği

<?php
// /tmp/a.php dosyası

function a_test($str)
{
echo
"\nHi: $str";
var_dump(debug_backtrace());
}

a_test('friend');
?>

<?php
// /tmp/b.php dosyası
include_once '/tmp/a.php';
?>

/tmp/b.php çalıştırılırken sonuçlar şuna benzer:

Hi: friend
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"
  }
}

Ayrıca Bakınız