Xdebug 是一個在 PHP 上很好用的除錯工具,特別是 function calls tracing,可以很完整的列出執行流程。Xdebug 的介紹可以參考 Crboy 的文章:
要讓 Xdebug 在 PHP 開始執行時自動 trace function calls,只需要在 ini file 加上 xdebug.auto_trace = On 即可。若沒有系統權限,仍可以使用 PHP 的 ini_set() 設定 Xdebug 各項參數:
<?php
ini_set('xdebug.trace_output_dir', '/tmp/xdebug');
xdebug_start_trace(); // start tracing
// beginning of program
要注意的是,tracing 的設定會在 PHP 開始執行前便載入,所以使用 ini_set() 設定 xdebug.auto_trace 是不會起作用的:
<php
ini_set('xdebug.auto_trace', 'On'); // 沒有作用
ini_set('xdebug.trace_output_dir', '/tmp/xdebug');
// beginning of program
ps. 若 auto trace 已啟動,要記得定期清理 log,免得硬碟被吃光導致機器故障。