一彤悔、編譯環(huán)境
- macOS 11.0.1
- Xcode version 12.2
- Python 2.x
- brew install make ninja
二辆脸、編譯步驟
1. clone swift源碼
git clone --branch swift-5.3.1-RELEASE https://github.com/apple/swift.git
如果想要編譯其它版本的可以從分支中查找
2. 進入swift-source目錄運行update-checkout
./swift/utils/update-checkout --tag swift-5.3.1-RELEASE --clone
這一步會下載Swift相關的庫
3. 編譯Swift
進入swift-source目錄執(zhí)行
./swift/utils/build-script -r --debug-swift-stdlib --lldb
這里推薦使用ninja來編譯霜医,使用Xcode編譯我還沒嘗試
4. 使用vscode來調試swift源碼
首先我們需要安裝vscode插件CodeLLDB
接下來配置JSON文件
{
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug",
"program": "${workspaceFolder}/build/Ninja-RelWithDebInfoAssert+stdlib-DebugAssert/swift-macosx-x86_64/bin/swift",
"args": [],
"cwd": "${workspaceFolder}"
} ]
}
run起來之后過掉第一個斷點
如果區(qū)域3不顯示事镣,先找到vscode的安裝目錄
顯示隱藏文件的快捷鍵 command+shift+.
然后找到LLDB目錄拷貝以下文件到vscode安裝目錄對應位置
同時修改lib文件夾中的dylib文件