PHP debug_backtrace() 함수

예제

PHP backtrace 생성:

<?php
 function a($txt) {
     b("Glenn");
 }
 function b($txt) {
     c("Cleveland");
}
 function c($txt) {
     var_dump(debug_backtrace());
 }
 a("Peter");
 ?> 

위 코드의 출력은 다음과 같습니다:

Array (
     [0] => Array (
         [file] => C:\webfolder\test.php
         [line] => 6
         [function] => c
         [args] => Array (
             [0] => Cleveland
         )
     )
     [1] => Array (
         [file] => C:\webfolder\test.php
         [line] => 3
         [function] => b
         [args] => Array (
             [0] => Glenn
         )
     )
     [2] => Array (
         [file] => C:\webfolder\test.php
         [line] => 11
         [function] => a
         [args] => Array (
             [0] => Peter
         )
     )
 )

정의와 사용법

debug_backtrace() 함수는 backtrace(추적 추적)을 생성합니다。

이 함수는 debug_backtrace() 함수 코드로 생성된 데이터를 표시합니다。

반환하는 연관 배열입니다. 반환할 수 있는 요소는 다음과 같습니다:

이름 유형 설명
function string 현재 함수 이름
line integer 현재 행 번호
file string 현재 파일 이름
class string 현재 클래스 이름
object object 현재 객체
type string

현재 호출 유형. 가능한 호출:

  • "->" - 메서드 호출을 반환
  • "::" - 정적 메서드 호출을 반환
  • nothing - 함수 호출을 반환
args array 함수 내에서는 함수 매개변수를 나열합니다. 인용된 파일 내에서는 인용된 파일 이름을 나열합니다.

문법

debug_backtrace(옵션,limit);
매개변수 설명
옵션

선택적. 다음 옵션의 비트 마스크를 지정합니다:

  • DEBUG_BACKTRACE_PROVIDE_OBJECT ("object"의 인덱스를 채우는지 여부)
  • DEBUG_BACKTRACE_IGNORE_ARGS ("args"의 인덱스를 포함한 모든 함수/메서드의 매개변수를 무시하며, 메모리 소비를 절감할 수 있습니다.)
limit 선택적. 반환될 스택 프레임의 수를 제한합니다. 기본值为 (limit(=0) 모든 스택 프레임을 반환합니다.

기술 세부 사항

반환 값: None
PHP 버전: 4.3+
PHP 업데이트 로그

PHP 5.4: 선택적 매개변수를 추가했습니다 limit.

PHP 5.3.6: 매개변수 provide_object 변경했습니다 옵션또한 선택적 매개변수 DEBUG_BACKTRACE_IGNORE_ARGS를 추가했습니다.

PHP 5.2.5: 선택적 매개변수를 추가했습니다. provide_object.

PHP 5.1.1: 현재를 추가했습니다. object 반환될 가능성이 있는 요소를 위해.