>  기사  >  백엔드 개발  >  PHP 디버깅 도구 debug_print_backtrace() 함수 사용

PHP 디버깅 도구 debug_print_backtrace() 함수 사용

怪我咯
怪我咯원래의
2017-07-10 14:19:511308검색

debug_print_backtrace()는 매우 낮은 함수이며 이에 주의하는 사람이 거의 없습니다. 하지만 하나의 개체 에서 다른 개체를 호출한 다음 다른 개체와 파일의 함수를 호출할 때 오류가 발생하면 웃음이 나옵니다.

누가 특정 메서드를 호출했는지 알고 싶다면

debug_print_backtrace(를 해결할 수 있습니까? )는 페이지의 호출 프로세스를 인쇄할 수 있으며 어디서 왔고 어디로 가는지 명확합니다.
하지만 이것은 PHP5의 독점 기능이며 다행히도 pear,
http://pear.php에서 구현되었습니다. .net/package/PHP_Compat

테스트 코드,
코드는 다음과 같습니다.

<?php 
class a{ 
function say($msg) { 
echo "msg:".$msg; 
echo "<pre class="brush:php;toolbar:false">";debug_print_backtrace(); 
} 
} 

class b { 
function say($msg) { 
$a = new a(); 
$a->say($msg); 
} 
} 

class c { 
function construct($msg) { 
$b = new b(); 
$b->say($msg); 
} 
} 

$c = new c("test");

출력 결과


코드는 다음과 같습니다.

msg:test 
#0 a->say(test) called at [/var/www/test/test0723.php:12] 
#1 b->say(test) called at [/var/www/test/test0723.php:19] 
#2 c->construct(test) called at [/var/www/test/test0723.php:23]

위 내용은 PHP 디버깅 도구 debug_print_backtrace() 함수 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.