通過斷點除錯php檔案,從而知道其在php內部執行流程。
二、編譯
為了盡快得到可以測試的環境,我們僅編譯乙個最精簡的php。通過執行 ./configure –disable-all來進行配置。 以後如果需要其他功能可以重新編譯。如果configure命令出現錯誤,可能是缺少php所依賴的庫,各個系統的環境可能不一樣。 出現錯誤可根據出錯資訊上網搜尋。 直到完成configure。configure完成後我們就可以開始編譯了。
幫助
1
2
./configure --disable-all
make
在*nix下編譯過程式的讀者應該都熟悉經典的configure make,make install吧。執行make之後是否需要make install就取決於你了。 如果install的話最好在configure的時候是用prefix引數指定安裝目錄, 不建議安裝到系統目錄, 避免和系統原有的php版本衝突。 在make 完以後,在sapi/cli目錄裡就已經有了php的可以執行檔案. 執行一下命令
幫助
1
./sapi/cli/php -v
三、檢視程式中的符號表
幫助
1
2
3
4
<?php
$a
= 1;
$b
= 2;
echo
$a
+
$b
;
幫助1
nm sapi/cli/php|grep
echo
四、gdb除錯
幫助
1
2
3
gdb sapi/cli/php
b zend_do_echo
//設定斷點
run /
var
/test/test.php
首先,除錯sapi/cli/php檔案,進入gdb除錯模式
設定斷點zend_do_echo
執行檔案
會顯示zend_do_echo在這個執行流程中,具體在哪個檔案中。
輸入bt命令,可以完整的檢視出test.php檔案中echo命令在cli模式下執行過程。
spring原始碼斷點除錯
首先開啟github,單擊快捷選單中的git shell選項,通過cd命令將當前目錄轉換到儲存原始碼的目錄,假設為e springcode。在該目錄下執行以下命令 回車等待一段時間出現下圖說明將spring原始碼轉換成eclipse工程成功 檢視資料夾,發現已經變成可以匯入到eclipse工程的模式...
PHP 斷點除錯
我使用的xamp 搭建的的php整合環境。預設情況下,xamp沒有開啟xdebug功能,但是x debug dll及配置檔案均已寫入php.ini 中了。1.啟用x debug php.ini 去掉1008行注釋 zend extension d program files xampp xampp ...
使用VS Code斷點除錯PHP
vs code 使用一款傑出的輕量級 編輯器,其中的外掛程式工具不勝列舉而且還在不斷增加。使用 vs code 除錯 php 更是方便簡潔,下面我們來一起看一下。在 php.ini 配置檔案中加一行zend extension path to xdebug,其中path to xdebug即 xde...