Xdebug的使用說明

Xdebug是一款免費開放源代碼的PHP代碼調試工具,支持本地和遠程調試,是一名有經驗的PHP程序員所必須要掌握的工具。同類的php調試工具還有ZendDebugger,不過貌似要收費。

Xdebug是php調試的增強工具

,有以下用處:
    堆棧追蹤和函數追蹤;
    錯誤信息;
    內存分配;
    剖析php腳本的信息;
    代碼覆蓋率分析;
    遠程調試分析;

1:debug重寫了php裏面var_dump()函數。
     var_dump( [mixed var [, ...]] )

    給變量對象有不同的顏色,顯示類型長度,還可以控制顯示層次,顯示的方式經過格式化,
清晰友好。需要使用此功能,有如下參數需注意。
       ;是否覆蓋php裏面的函數var_dump();默認是開啓的,值爲1;設爲0,則關閉;
       xdebug.overload_var_dump = 1
       ;控制數組子元素顯示的大小默認爲256
       xdebug.var_display_max_children = 256
       ;控制變量打印的大小,默認爲512
        xdebug.var_display_max_data = 512
        ;控制數組和對象元素顯示的層級。默認爲3
        xdebug.var_display_max_depth = 3

     void xdebug_debug_zval( [string varname [, ...]]
     void xdebug_debug_zval_stdout( [string varname [, ...]] )
     返回一個變量的標準輸出信息,包括類型,值,引用次數等。
     void xdebug_dump_superglobals()
     返回全局變量的信息
     void xdebug_var_dump( [mixed var [, ...]] )
     顯示變量的詳細信息

2:xdebug的堆棧追蹤功能
如果腳本中出現函數參數不正確,方法重複,語法錯誤等錯誤的時候。xdebug能追蹤其錯誤產生的產生的過程。

3:使用xdebug進行腳本性能測試

Xdebug 內置函數的應用

xdebug.max_nesting_level = 50 最大循環或調試次數,防止死循環
xdebug.dump_once = On
xdebug.dump_globals = On
xdebug.dump_undefined = On
xdebug.dump.SERVER = REQUEST_METHOD,REQUEST_URI,HTTP_USER_AGENT
xdebug.dump.REQUEST=*
xdebug.show_exception_trace = On 仍將強制執行異常跟蹤
xdebug.show_local_vars = 1
將打印每個函數調用的最外圍中的所有局部變量,包括尚未初始化的變量
xdebug.var_display_max_depth = 6
表示轉儲複雜變量的深度。

string xdebug_call_class()
 返回當前被調用的函數或方法所屬的類的類名
 string xdebug_call_file()
 返回調用當前函數的文件名
 string xdebug_call_function()
 返回調用當前正在執行的函數的函數名
 int xdebug_call_line()
 返回該函數是在哪一行被調用的。
 void xdebug_disable()/xdebug_enable()
 禁止/激活顯示錯誤的跟蹤棧信息
 xdebug_start_error_collection()
 xdebug_stop_error_collection()
 xdebug_get_collected_errors()
 錯誤收集開始函數,當此函數被執行的時候,xdebug將不在頁面上顯示錯誤信息,而是將錯誤信息以xdebug
 自己的規則記錄在緩衝區。直到遇到xdebug_stop_error_collection()函數。緩衝區的內容將由xdebug_get_collected_errors()
 函數的調用而顯示。此功能可以讓你的頁面不被xdebug的錯誤顯示破壞。
 array xdebug_get_headers()
 返回所有由php設置的頭信息。比如由header(),setcookie函數設置的頭信息.
 xdebug_is_enabled()
 返回xdebug的跟蹤狀態是否被激活 xdebug.default_enable的值
 int xdebug_memory_usage()
 返回腳本當前的內存使用數
  int xdebug_peak_memory_usage()
 返回腳本直達目前爲止這段過程中的使用內存的最高值
  float xdebug_time_index()
 返回腳本開始到現在所使用的秒數
設置xdebug.auto_trace = Off可在代碼中添加xdebug_start_trace();xdebug_stop_trace();語句生成追蹤文件。
這裏推薦使用兩款查看工具,ubuntu下可以使用KCachegrind,windows下可以使用WinCacheGrind。具體查看
xdebug測試結果工具使用方法自己谷歌,很簡單。懂點E文就可以看懂的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章