首頁 > 遊戲

vscode除錯php原始碼

由 微痕漫記 發表于 遊戲2023-02-06

簡介netprojectsmingw-w64files加到環境變數D:toolsmingw64bin測試gcc -v5、使用vscode開啟php原始碼目錄vscode F5除錯,沒出現C++沒C++額外安裝Codelf、vscod

vscode怎麼打斷點除錯

(參考多個網文)

1、下載php原始碼

這個網站有原始碼,但是不從這裡下載

https://www。php。net/

vscode除錯php原始碼

從這裡下載原始碼

git clone

https://gitcode。net/mirrors/php/php-src。git

下載

用於構建php的

php sdk工具

git clone https://gitcode。net/mirrors/microsoft/php-sdk-binary-tools。git

下面這個沒用到

https://windows。php。net/downloads/php-sdk/

從這裡檢視使用哪個版本

https://wiki。php。net/internals/windows/stepbystepbuild_sdk_2

vscode除錯php原始碼

編譯master分支,目前是php8。2,是visual studio2019編譯的

2、安裝vscode

C:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code

vscode除錯php原始碼

vscode除錯php原始碼

安裝C/C++外掛

vscode除錯php原始碼

3、編譯可debug的php

執行php sdk工具的 phpsdk-vc15-x64。bat

vscode除錯php原始碼

會開啟命令列

執行phpsdk_deps ——update ——branchmaster

vscode除錯php原始碼

報錯可忽略

vscode除錯php原始碼

繼續執行

buildconf。bat

vscode除錯php原始碼

選擇開啟SAPI cli、開啟debug模式、開啟phar擴充套件;由於cli是單執行緒的,方便接下來的除錯。然後執行configure

開啟debug

configure ——disable-all ——enable-cli ——enable-debug ——enable-phar

顯示已載入的擴充套件等等配置資訊

vscode除錯php原始碼

執行nmake

vscode除錯php原始碼

編譯成功

vscode除錯php原始碼

檢視編譯版本,是PHP 8。2。0-dev (cli)

vscode除錯php原始碼

php構建成功

4、下載

MinGW-W64 GCC-8。1。0

https://sourceforge。net/projects/mingw-w64/files/

vscode除錯php原始碼

vscode除錯php原始碼

加到環境變數

D:\tools\mingw64\bin

測試

gcc -v

vscode除錯php原始碼

5、使用vscode開啟php原始碼目錄

vscode除錯php原始碼

vscode F5除錯,沒出現C++

vscode除錯php原始碼

沒C++

額外安裝Codelf、vscode-icons,便於瀏覽程式碼

繼續安裝這個外掛

vscode除錯php原始碼

開啟。h檔案,自動識別安裝

vscode除錯php原始碼

開啟C檔案,按F5出現

vscode除錯php原始碼

6、開始除錯

在php-src\x64\Debug_TS下建立test。php,任意寫一些語句。

在php\php-src\。vscode目錄下建立檔案

launch。json

內容:

{

// 使用 IntelliSense 瞭解相關屬性。

// 懸停以檢視現有屬性的描述。

// 欲瞭解更多資訊,請訪問: https://go。microsoft。com/fwlink/?linkid=830387

“version”: “0。2。0”,

“configurations”: [

{

“name”: “php-8。2。0-dev source code debugger”,

“type”: “cppvsdbg”,

“request”: “launch”,

“program”: “${workspaceFolder}/x64/Debug_TS/php。exe”,

“args”: [“test。php”],

“stopAtEntry”: false,

“cwd”: “${workspaceFolder}/x64/Debug_TS/”,

“environment”: [],

“console”: “externalTerminal”

}

}

在sapi\cli\php_cli。c的mian函式打斷點

vscode除錯php原始碼

按F5啟動除錯

vscode除錯php原始碼

點選

vscode除錯php原始碼

或按F5繼續

php除錯完成輸出結果

vscode除錯php原始碼

Tags:phpnetclihttpsSDK