溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

WINDOWS下用VSCODE調試PHP7源代碼的示例

發布時間:2020-12-31 14:45:57 來源:億速云 閱讀:325 作者:小新 欄目:軟件技術

這篇文章將為大家詳細講解有關WINDOWS下用VSCODE調試PHP7源代碼的示例,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

 在之前一段時間涉及PHP擴展開發,對PHP源代碼有調試需求,然而網上大部分都是在LINUX下調試的教程,WINDOWS系統下的非常少并且過程也只是粗略一講。所以決定自己嘗試在WINDOWS下建立調試環境,畢竟,原理是相通的:)。

1.準備

以下是我開發機上的配置,可以和我保持一致減少因為工具版本而出現額外問題的幾率。

1.Visual Code源代碼編輯調試工具                    

2.Visual Studio Community2017(VS一般都把WIN下開發需要的東西都帶全了,畢竟宇宙全家桶.....)

紅色標注區域必須安裝

WINDOWS下用VSCODE調試PHP7源代碼的示例3.PHP7源代碼(也可以選擇從github上拉取)

可以任意選擇一個打包版本的源代碼

WINDOWS下用VSCODE調試PHP7源代碼的示例4.PHP7-SDK

我的開發機是64位,因為是編譯PHP7所以選擇了64位的deps-7.1-vc14-x64(擴展依賴庫包),建立php-sdk-binary-tools文件夾,將php-sdk-binary-tools-xxx.zip解壓至這個文件夾中,建立deps-vc14-x64文件夾,也將deps-7.1-vc14-x64.7z解壓至這個文件夾中。

同時將php-sdk-binary-tools中的bin路徑添加到WINDOWS系統變量PATH中。deps-7.1-vc14-x64本文暫時用不上,不過你也可以先下載下來,因為編譯自帶的一些擴展所依賴的庫和頭文件都包含在里面,當你要編譯自帶擴展的時候可以用上:)。

WINDOWS下用VSCODE調試PHP7源代碼的示例

2.編譯源代碼

安裝VS后,運行在開始菜單里的Visual Studio 2017文件夾下的x64 Native Tools Command Prompt for VS 2017

WINDOWS下用VSCODE調試PHP7源代碼的示例

運行后,進入到PHP7源代碼目錄中

WINDOWS下用VSCODE調試PHP7源代碼的示例1.執行buildconf.bat生成WIN下的configure文件(configure.js)

2.可以運行configure.bat --help查看支持的編譯參數

3.執行configure.bat --disable-all --enable-cli --enable-debug(為了示范簡單編譯,可以自行添加參數)

4.執行nmake命令開始編譯

以本機的配置,編譯完成后的執行文件在源代碼目錄中的x64/Debug_TS下,后面就可以準備開始調試了。

3.使用VSCODE調試

調試方式可以分2種,一種是附加進程調試,一種是運行啟動調試,兩種方式都會介紹,先介紹運行啟動調試。

先創建一個用于測試的php的源代碼文件,我創建在源代碼目錄下的x64/Debug_TS里。

WINDOWS下用VSCODE調試PHP7源代碼的示例

隨后選擇菜單調試->打開配置,并選擇C++(Windows)

WINDOWS下用VSCODE調試PHP7源代碼的示例最后將配置文件修改如下所示

WINDOWS下用VSCODE調試PHP7源代碼的示例我們之前編譯了PHP SAPI的cli,我們打開sapi/cli/php_cli.c源文件,定位到1197行的main函數內打上斷點。

WINDOWS下用VSCODE調試PHP7源代碼的示例隨后我們到VS的DEBUG控制面板運行調試即可。

WINDOWS下用VSCODE調試PHP7源代碼的示例

隨后即可看到斷點命中。

WINDOWS下用VSCODE調試PHP7源代碼的示例附加進程調試配置也是大同小異,我們點擊菜單選項調試->打開配置,并選擇添加配置,在彈出來的選擇列表中選擇C/C++(Windows) Attach

WINDOWS下用VSCODE調試PHP7源代碼的示例最后的配置文件如下:

WINDOWS下用VSCODE調試PHP7源代碼的示例我們首先用PHP -S啟動一個內置服務器(這個php一定要是你編譯生成的php.exe文件),來方便演示附加進程調試,我啟動的位置是在我們之前創建的test.php文件所在的目錄下。

WINDOWS下用VSCODE調試PHP7源代碼的示例訪問效果如下:

WINDOWS下用VSCODE調試PHP7源代碼的示例

啟動調試的方式一樣,在VSCODE的調試面板里面選擇(Windows) Attach運行即可。

WINDOWS下用VSCODE調試PHP7源代碼的示例

隨后在彈出來的進程列表中選擇PHP進程后開始進入調試狀態。

WINDOWS下用VSCODE調試PHP7源代碼的示例我們test.php中使用了array_push函數,我們這次到這個函數的實現中斷點,打開ext/standard/array.c,定位到2540行,打上斷點。

WINDOWS下用VSCODE調試PHP7源代碼的示例隨后在瀏覽器中訪問http://127.0.0.1:8080/test.php 即可觸發斷點。

WINDOWS下用VSCODE調試PHP7源代碼的示例

關于“WINDOWS下用VSCODE調試PHP7源代碼的示例”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女