debug_backtrace

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

debug_backtrace锟斤拷锟斤拷一锟斤拷锟斤拷锟捷革拷锟斤拷(backtrace)

说锟斤拷

debug_backtrace ([ int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT [, int $limit = 0 ]] ) : array

debug_backtrace() 锟斤拷锟斤拷一锟斤拷 PHP 锟侥伙拷锟捷革拷锟斤拷(backtrace)锟斤拷

锟斤拷锟斤拷

options

锟斤拷锟斤拷 5.3.6锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟窖★拷锟斤拷位锟斤拷锟诫:

debug_backtrace() 选锟斤拷
DEBUG_BACKTRACE_PROVIDE_OBJECT 锟角凤拷锟斤拷锟� "object" 锟斤拷锟斤拷锟斤拷锟斤拷
DEBUG_BACKTRACE_IGNORE_ARGS 锟角凤拷锟斤拷锟� "args" 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫碉拷 function/method 锟侥诧拷锟斤拷锟斤拷锟杰癸拷锟斤拷省锟节存开锟斤拷锟斤拷
锟斤拷 5.3.6 之前锟斤拷锟斤拷锟斤拷锟斤拷使锟矫碉拷值锟斤拷 TRUE 锟斤拷锟斤拷 FALSE锟斤拷锟街憋拷锟斤拷锟斤拷欠锟斤拷锟斤拷锟� DEBUG_BACKTRACE_PROVIDE_OBJECT 选锟筋。

limit

锟斤拷锟斤拷 5.4.0锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷芄锟斤拷锟斤拷锟斤拷锟斤拷品锟斤拷囟锟秸恢★拷锟斤拷锟斤拷锟斤拷锟� 默锟斤拷为 (limit=0) 锟斤拷锟斤拷锟斤拷锟斤拷锟叫的讹拷栈帧锟斤拷

锟斤拷锟斤拷值

锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷锟节讹拷锟斤拷锟斤拷锟斤拷锟斤拷 array锟斤拷 锟斤拷为为锟叫匡拷锟杰凤拷锟截碉拷元锟截o拷

锟叫匡拷锟杰达拷 debug_backtrace() 锟斤拷锟截碉拷元锟斤拷
锟斤拷锟斤拷 锟斤拷锟斤拷 说锟斤拷
function string 锟斤拷前锟侥猴拷锟斤拷锟斤拷锟斤拷锟轿硷拷锟斤拷 __FUNCTION__锟斤拷
line integer 锟斤拷前锟斤拷锟叫号★拷锟轿硷拷锟斤拷 __LINE__锟斤拷
file string 锟斤拷前锟斤拷锟侥硷拷锟斤拷锟斤拷锟轿硷拷锟斤拷 __FILE__锟斤拷
class string 锟斤拷前 class 锟斤拷锟斤拷锟狡★拷锟轿硷拷 __CLASS__
object object 锟斤拷前锟斤拷 object锟斤拷
type string 锟斤拷前锟斤拷锟矫碉拷锟斤拷锟酵★拷锟斤拷锟斤拷锟揭伙拷锟斤拷锟斤拷锟斤拷锟斤拷岱碉拷锟� "->"锟斤拷锟斤拷锟斤拷锟揭伙拷锟斤拷锟教拷锟斤拷锟斤拷锟斤拷岱碉拷锟� "::"锟斤拷 锟斤拷锟斤拷锟揭伙拷锟斤拷锟斤拷锟斤拷锟斤拷茫锟斤拷蚍祷乜铡锟�
args array 锟斤拷锟斤拷锟揭伙拷锟斤拷锟斤拷锟斤拷铮拷锟斤拷锟叫筹拷锟斤拷锟斤拷锟侥诧拷锟斤拷锟斤拷 锟斤拷锟斤拷锟斤拷锟揭伙拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷募锟斤拷铮拷锟斤拷谐锟斤拷锟斤拷锟斤拷锟斤拷募锟斤拷锟斤拷锟�

锟斤拷锟斤拷锟斤拷志

锟芥本 说锟斤拷
5.4.0 锟斤拷锟斤拷丝锟窖★拷牟锟斤拷锟� limit锟斤拷
5.3.6 锟斤拷锟斤拷 provide_object 锟侥筹拷 options锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟剿匡拷选锟斤拷锟斤拷 DEBUG_BACKTRACE_IGNORE_ARGS锟斤拷
5.2.5 锟斤拷锟斤拷丝锟窖★拷锟斤拷锟� provide_object锟斤拷
5.1.1 锟斤拷锟斤拷说锟角帮拷锟� object 为锟斤拷锟杰凤拷锟截碉拷元锟截★拷

锟斤拷锟斤拷

Example #1 debug_backtrace() 锟斤拷锟斤拷

<?php
// filename: /tmp/a.php

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

a_test('friend');
?>

<?php
// filename: /tmp/b.php
include_once '/tmp/a.php';
?>

执锟斤拷 /tmp/b.php 锟斤拷锟截的斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷拢锟�

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"
  }
}

锟轿硷拷

  • trigger_error() - 锟斤拷锟斤拷一锟斤拷锟矫伙拷锟斤拷锟斤拷锟� error/warning/notice 锟斤拷息
  • debug_print_backtrace() - 锟斤拷印一锟斤拷锟斤拷锟捷★拷