xdebug最新版是個針對PHP環境的debug工具,一款十分實用且一直在免費更新提高運行偵查效率的擴展插件,對于編程有極大的輔助作用,必備的即時運算好幫手,需手動安裝,谷歌瀏覽器等相關程序均可進行鑲嵌,推薦!
PHP程序調試器Xdebug安裝
PECL 安裝
pecl install xdebug
zend_extension="/usr/local/php/modules/xdebug.so"
源碼包安裝
https://xdebug.org/download.php 尋找對應的包
wget xxx.gz
./configure
make && make install
zend_extension="/usr/local/php/modules/xdebug.so"
Docker安裝
以下為php dockerfile內部分內容
RUN pecl install xdebug
RUN echo 'zend_extension=xdebug.so' >> /usr/local/etc/php/conf.d/xdebug.ini
Xdebug官方簡介
Xdebug是PHP的擴展,可幫助進行調試和開發。
·它包含一個用于IDE 的單步調試器
·它升級了PHP的var_dump()函數
·它為通知,警告,錯誤和異常添加了堆棧跟蹤
·它具有記錄每個函數調用和向磁盤分配變量的功能
·它包含一個探查器
·它提供了與PHPUnit一起使用的代碼覆蓋功能

資料
Xdebug擴展通過提供許多有價值的調試信息來幫助您調試腳本。Xdebug可以提供的調試信息包括以下內容:
Xdebug托管在GIT中??梢酝ㄟ^github瀏覽源代碼,并可以通過以下方式簽出:
git clone git://github.com/xdebug/xdebug.git
發布
Windows二進制文件通常適用于所提到的PHP版本的每個迷你版本,盡管該擴展是針對當時最新的PHP版本構建的。VC x / VS x標記指示使用哪個編譯器生成擴展,以及非線程安全的是否禁用ZTS。這些限定符需要與您使用的PHP版本匹配。如果您不知道需要哪一個,請參考自定義安裝說明。
更新內容
Xdebug 2.9.0發布了!
該版本的Xdebug是在今年年底發布的,可將代碼覆蓋率提高250%(與Xdebug 2.7相比)。有關全文,請參見 本文。
此版本增加了對Xdebug 的變量顯示功能的支持,以包括PHP 7.4的新類型屬性,并刪除了多余的 xdebug.remote_handler 設置和未記錄的探查器聚合功能。
更改的完整列表可以在更新頁面上找到。
可以在下載頁面上找到源代碼和Windows二進制文件 ,并且照常可以通過PECL安裝Xdebug。
此版本還包含以下作者的貢獻:David Carlier-謝謝!
如何檢測代碼中的不足?
有時候代碼沒有明顯的編寫錯誤,沒有顯示任何錯誤信息(如error、warning、notice等),但是這不表明代碼就是正確無誤的。有時候可能某段代碼執行時間過長,占用內存過多以致于影響整個系統的效率,我們沒有辦法直接看出來是哪部份代碼出了問題。這時候我們希望把代碼的每個階段的運行情況都監控起來,寫到日志文件中去,運行一段時間后再進行分析,找到問題所在。
回憶一下,之前我們編輯php.ini文件
加入
[Xdebug]
xdebug.profiler_enable=on
xdebug.trace_output_dir="I:\Projects\xdebug"
xdebug.profiler_output_dir="I:\Projects\xdebug"
這幾行,目的就在于把執行情況的分析文件寫入到”../Projects/xdebug”目錄中去(你可以替換成任何你想設定的目錄)。如果你執行某段程序后,再打開相應的目錄,可以發現生成了一堆文件,例如cachegrind.out.1169585776這種格式命名的文件。這些就是Xdebug生成的分析文件。用編輯器打開你可以看到很多程序運行的相關細節信息。
為什么需要Debugger?
很多PHP程序員調試使用echo、print_r()、var_dump()、printf()等,其實對 于有較豐富開發經驗的程序員來說這些也已經足夠了,他們往往可以在程序執行的過程中,通過輸出特定變量的值可以判斷程序執行是否正確,甚至效率高低也可以 看出來(當然可能還需要使用一些時間函數)。那么我們為什么還需要一個專門的調試程序來監控我們的程序運行呢? 這個問題的答案不妨留到后面來揭曉。




