首頁 開發工具 VSCode WINDOWS下用VSCODE除錯PHP7原始碼

WINDOWS下用VSCODE除錯PHP7原始碼

Nov 21, 2019 am 11:21 AM
vscode

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

WINDOWS下用VSCODE除錯PHP7原始碼

1.準備

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

1.Visual Code原始碼編輯偵錯工具                     (建議學習:vscode入門教學課程

2.Visual Studio2017code入門教學課程##2.Visual Studio2017code ##(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原始碼目錄

##1.執行buildconf.bat產生WIN下的configure檔(configure.js)WINDOWS下用VSCODE除錯PHP7原始碼

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原始碼

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

接著我們到VS的DEBUG控制面板運行偵錯即可。 WINDOWS下用VSCODE除錯PHP7原始碼

WINDOWS下用VSCODE除錯PHP7原始碼

隨後即可看到斷點命中。

附加進程偵錯配置也是大同小異,我們點選選單選項偵錯->開啟配置,並選擇新增配置,在彈出來的選擇清單中選擇C/C (Windows) AttachWINDOWS下用VSCODE除錯PHP7原始碼

最後的設定檔如下: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原始碼4.最後

本文的偵錯方式也可以作為擴充開發的偵錯方式,當然,同樣的設定思路也適用於宇宙IDE Visual Studio ,我在WINDOWS下配置VSCODE調試PHP源代碼的思路也適用於其它平台(Mac/Linux......)。如果你有興趣在Visual Studio中調試PHP原始碼,不如以本文為思路嘗試著自己思考動手來試試~

以上是WINDOWS下用VSCODE除錯PHP7原始碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

vscode怎麼定義頭文件 vscode怎麼定義頭文件 Apr 15, 2025 pm 09:09 PM

如何使用 Visual Studio Code 定義頭文件?創建頭文件並使用 .h 或 .hpp 後綴命名在頭文件中聲明符號(例如類、函數、變量)使用 #include 指令在源文件中包含頭文件編譯程序,頭文件將被包含並使聲明的符號可用

vscode需要什麼電腦配置 vscode需要什麼電腦配置 Apr 15, 2025 pm 09:48 PM

VS Code 系統要求:操作系統:Windows 10 及以上、macOS 10.12 及以上、Linux 發行版處理器:最低 1.6 GHz,推薦 2.0 GHz 及以上內存:最低 512 MB,推薦 4 GB 及以上存儲空間:最低 250 MB,推薦 1 GB 及以上其他要求:穩定網絡連接,Xorg/Wayland(Linux)

vscode中文註釋變成問號怎麼解決 vscode中文註釋變成問號怎麼解決 Apr 15, 2025 pm 11:36 PM

解決 Visual Studio Code 中中文註釋變為問號的方法:檢查文件編碼,確保為“UTF-8 without BOM”。更改字體為支持中文字符的字體,如“宋體”或“微軟雅黑”。重新安裝字體。啟用 Unicode 支持。升級 VSCode,重啟計算機,重新創建源文件。

vscode終端使用教程 vscode終端使用教程 Apr 15, 2025 pm 10:09 PM

vscode 內置終端是一個開發工具,允許在編輯器內運行命令和腳本,以簡化開發流程。如何使用 vscode 終端:通過快捷鍵 (Ctrl/Cmd ) 打開終端。輸入命令或運行腳本。使用熱鍵 (如 Ctrl L 清除終端)。更改工作目錄 (如 cd 命令)。高級功能包括調試模式、代碼片段自動補全和交互式命令歷史。

vscode在哪寫代碼 vscode在哪寫代碼 Apr 15, 2025 pm 09:54 PM

在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。

vscode終端常用命令 vscode終端常用命令 Apr 15, 2025 pm 10:06 PM

VS Code 終端常用命令包括:清除終端屏幕(clear)列出當前目錄文件(ls)更改當前工作目錄(cd)打印當前工作目錄路徑(pwd)創建新目錄(mkdir)刪除空目錄(rmdir)創建新文件(touch)刪除文件或目錄(rm)複製文件或目錄(cp)移動或重命名文件或目錄(mv)顯示文件內容(cat)查看文件內容並滾動(less)查看文件內容只能向下滾動(more)顯示文件前幾行(head)

VSCode怎麼用 VSCode怎麼用 Apr 15, 2025 pm 11:21 PM

Visual Studio Code (VSCode) 是一款跨平台、開源且免費的代碼編輯器,由微軟開發。它以輕量、可擴展性和對眾多編程語言的支持而著稱。要安裝 VSCode,請訪問官方網站下載並運行安裝程序。使用 VSCode 時,可以創建新項目、編輯代碼、調試代碼、導航項目、擴展 VSCode 和管理設置。 VSCode 適用於 Windows、macOS 和 Linux,支持多種編程語言,並通過 Marketplace 提供各種擴展。它的優勢包括輕量、可擴展性、廣泛的語言支持、豐富的功能和版

vscode終端命令不能用 vscode終端命令不能用 Apr 15, 2025 pm 10:03 PM

VS Code 終端命令無法使用的原因及解決辦法:未安裝必要的工具(Windows:WSL;macOS:Xcode 命令行工具)路徑配置錯誤(添加可執行文件到 PATH 環境變量中)權限問題(以管理員身份運行 VS Code)防火牆或代理限制(檢查設置,解除限制)終端設置不正確(啟用使用外部終端)VS Code 安裝損壞(重新安裝或更新)終端配置不兼容(嘗試不同的終端類型或命令)特定環境變量缺失(設置必要的環境變量)

See all articles