php原始碼斷點除錯

2021-06-28 15:18:37 字數 1363 閱讀 6624

通過斷點除錯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|grepecho

四、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...