一耸携、swift源碼下載與配置
編輯環(huán)境
- xcode12
- Python 2.x
- brew install cmake ninja
編譯步驟
- 第一步:clone swift源碼
git clone --branch swift-5.3.1-RELEASE https://github.com/apple/swift.git
最新版本到蘋果官網(wǎng)下載:地址冀续,Xcode版本要與下載代碼匹配。 - 第二步:update-checkout
確保當前目錄在swift-source下请祖,執(zhí)行如下命令:
./swift/utils/update-checkout --tag swift-5.2.4-RELEASE --clone
這一步會clone編譯swift相關的庫允青,不成功則后面編譯一定失敗玛迄。 - 第三步:編譯
使用ninja編譯
./swift/utils/build-script -r --debug-swift-stdlib --lldb
-
第四步:VSCode調(diào)試Swift(網(wǎng)上下載一個Visual Studio Code)
1、進入VSCode安裝插件
2宁舰、配置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}"
}
]
}
3拼卵、run運行
過了斷點
4、可以在VSCode的控制臺下面編寫代碼蛮艰,打斷點調(diào)試了
編寫過后會進入HeapObject.cpp文件的swift_allocObjcet方法腋腮,可以在這里打斷點
5、異常處理
不顯示斷點:找到CodeLLDB安裝目錄,在個人目錄(shift+cmd+H)即寡,顯示隱藏文件(shift+cmd+.),將swift源碼source下的build-Ninja-lldb-bin下文件拷貝到.vscode-ex-vadimcm-lldb-bin下徊哑,在將lib下的lidlldb.dylib替換成拷貝過來的lldb文件,改名字為lidlldb.dylib聪富。
校驗lldb.dylib庫