1. 程式人生 > >xdebug安裝與除錯

xdebug安裝與除錯

xdebug安裝:

以PHP5.1.4,Windows平臺為例(其它PHP版本,其它平臺請參看官網文件):

下載地址:http://www.xdebug.org/download.php


1. 登入www.xdebug.org,在首頁右側有一個Windows modules,選擇其中的PHP5.1.2+,下載php_xdebug-5.1.2-2.0.0beta6.dll檔案;
2. 將下載的php_xdebug-5.1.2-2.0.0beta6.dll放到C:\php5\ext目錄,重新命名為php_xdebug.dll;
3. 編輯php.ini,加入下面幾行:

extension=php_xdebug.dll
[Xdebug]
xdebug.profiler_enable=on
xdebug.trace_output_dir="I:\Projects\xdebug"
xdebug.profiler_output_dir="I:\Projects\xdebug"
後面的目錄“I:\Projects\xdebug”為你想要放置Xdebug輸出的資料檔案的目錄,可自由設定。

4. 重啟Apache;
5. 寫一個test.php,內容為<?php phpinfo(); ?>,如果輸出的內容中有看到xdebug,說明安裝配置成功。


xdebug的使用

var_dump                //列印你所有變數,以圖表形式返回。
xdebug_break()                //傳送一個斷點到除錯客戶端.
xdebug_call_class()            //返回被呼叫的類
xdebug_call_file()            //返回被呼叫的檔案
xdebug_call_line()            //返回被呼叫的行數
xdebug_call_function()            //返回被呼叫的方法


xdebug_debug_zval()            //顯示一個變數的資訊,包括它的型別、值和被引用次數資訊。xdebug_debug_zval()函式在顯示zval資訊時返回的資料比PHP自己的debug_zval_dump()函式返回的資訊要更準確

xdebug_disable()            //禁用堆疊軌跡
xdebug_dump_superglobals()        //顯示超全域性變數的資訊
xdebug_enable()                //啟用堆疊軌跡

---------------------------------------------------------------------------
void xdebug_start_code_coverage()    //開始記錄所有錯誤資訊並隱藏它們
void xdebug_stop_code_coverage()    //結束程式碼作用域
xdebug_get_code_coverage()        //返回程式碼作用域資訊
---------------------------------------------------------------------------
void xdebug_start_error_collection()    //開始記錄所有錯誤資訊並隱藏它們
void xdebug_stop_error_collection()    //結束程式碼作用域
xdebug_get_collected_errors()        //返回程式碼作用域資訊
---------------------------------------------------------------------------
void xdebug_start_trace()        //開始追蹤從該函式起始到trace_file
void xdebug_stop_trace()        //停止當前進行的函式追蹤,停止追蹤函式呼叫並關閉軌跡檔案。
---------------------------------------------------------------------------


xdebug_get_declared_vars()        //返回已宣告的變數,返回的陣列中包含了當前作用域中定義的每個變數的名稱。 xdebug.collect_vars引數需要被啟用。

array xdebug_get_function_stack()    //返回堆疊的相關資訊
array xdebug_get_headers()        //返回所有通過PHP的header()函式所設定的頭資訊。
integer xdebug_get_stack_depth()    //返回當前堆疊的深度
string xdebug_get_tracefile_name()    //返回函式追蹤檔案的名稱。

none xdebug_print_function_stack()    //顯示當前的函式堆疊


float xdebug_time_index()        //返回當前的時間索引