debug_backtrace

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

debug_backtrace - 역추적 생성


설명

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

debug_backtrace()는 PHP 역추적을 생성합니다.


매개변수

options
이 매개변수는 다음 옵션에 대한 비트마스크입니다.

debug_backtrace() 옵션

DEBUG_BACKTRACE_PROVIDE_OBJECT "객체" 인덱스를 채울지 여부입니다.
DEBUG_BACKTRACE_IGNORE_ARGS 메모리를 절약하기 위해 "args" 인덱스와 모든 함수/메서드 인수를 생략할지 여부입니다.
limit
이 매개변수를 사용하여 반환되는 스택 프레임 수를 제한할 수 있습니다. 기본적으로(limit=0) 모든 스택 프레임을 반환합니다.

반환 값

연관 배열의 배열을 반환합니다. 반환 가능한 요소는 다음과 같습니다.

debug_backtrace()에서 가능한 반환 요소

Name Type Description
function string 현재 함수 이름. See also __FUNCTION__.
line int 현재 줄 번호. See also __LINE__.
file string 현재 파일 이름. See also __FILE__.
class string 현재 class 이름. See also __CLASS__
object object 현재 object입니다.
type string 현재 호출 유형입니다. 메서드를 호출하면 "->"가 반환됩니다. 정적 메서드를 호출하면 "::"가 반환됩니다. 함수를 호출하면 아무 것도 반환되지 않습니다.
args array 함수 내부에 있는 경우 함수 인수를 나열합니다. 포함된 파일 내부에 있는 경우 포함된 파일 이름이 나열됩니다.

Examples

예제 #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"
  }
}
                

기타