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 중국어 웹사이트의 기타 관련 기사를 참조하세요!