현재 함수가 어떤 파일에서 호출되는지 알고 싶으십니까? 이러한 경로를 알면 프로그램의 실행 프로세스를 잘 이해할 수 있습니다. 이는 매우 중요하며 기초이기도 합니다. 다른 사람의 프로그램을 이해하려면 여기서는 PHP에서 스택 디버깅하는 방법을 소개하겠습니다. 실제로는 PHP에 내장된 기능입니다. debug_backtrace();
다음은 간단한 소개입니다. 자세한 내용은 설명서를 읽는 것을 좋아합니다.
<code>$statcks = debug_backtrace(); $tmp_arr = array(); <span>if</span>(!$stacks) <span>return</span> $tmp_arr; foreach($stacks as $k=>$v) { $tmp[$k][<span>'file'</span>] = isset($v[<span>'file'</span>]) ? $v[<span>'file'</span>] : <span>'--'</span>; $tmp[$k][<span>'line'</span>] = isset($v[<span>'line'</span>])? $v[<span>'line'</span>] : <span>'--'</span>; $tmp[$k][<span>'function'</span>] = isset($v[<span>'function'</span>]) ? $v[<span>'function'</span>] : <span>'--'</span>; } Array ( [<span>0</span>]<span> =></span> Array ( [file]<span> =></span><span>D</span>:\wwwroot\CodeIgniter\application\controllers\finance\channel.php [line]<span> =></span><span>128</span> [<span>function</span>]<span> =></span> get_total_rows ) [<span>1</span>]<span> =></span> Array ( [file]<span> =></span> -- [line]<span> =></span> -- [<span>function</span>]<span> =></span> index ) [<span>2</span>]<span> =></span> Array ( [file]<span> =></span><span>D</span>:\wwwroot\CodeIgniter\application\controllers\finance\channel.php [line]<span> =></span><span>46</span> [<span>function</span>]<span> =></span> call_user_func ) [<span>3</span>]<span> =></span> Array ( [file]<span> =></span> -- [line]<span> =></span> -- [<span>function</span>]<span> =></span> get_nav ) [<span>4</span>]<span> =></span> Array ( [file]<span> =></span><span>D</span>:\wwwroot\CodeIgniter\system\core\CodeIgniter.php [line]<span> =></span><span>360</span> [<span>function</span>]<span> =></span> call_user_func_array ) [<span>5</span>]<span> =></span> Array ( [file]<span> =></span><span>D</span>:\wwwroot\CodeIgniter\index.php [line]<span> =></span><span>205</span> [<span>function</span>]<span> =></span> require_once ) )</code>
여기 인쇄된 배열이 있습니다.
저작권: 이 글은 해당 블로거의 원본 글이므로, 해당 블로거의 허락 없이 무단 전재를 금합니다.
위 내용은 PHP의 스택 디버깅을 소개하며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.