Swift源碼編譯(5.3.1)

一、編譯環(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相關(guān)的庫

3. 編譯Swift

進入swift-source目錄執(zhí)行

./swift/utils/build-script -r --debug-swift-stdlib --lldb

這里推薦使用ninja來編譯,使用Xcode編譯我還沒嘗試

4. 使用vscode來調(diào)試swift源碼

首先我們需要安裝vscode插件CodeLLDB
接下來配置JSON文件


配置json.png
{
     "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起來之后過掉第一個斷點


image.png
image.png
image.png
image.png

如果區(qū)域3不顯示,先找到vscode的安裝目錄


image.png

顯示隱藏文件的快捷鍵 command+shift+.
然后找到LLDB目錄拷貝以下文件到vscode安裝目錄對應(yīng)位置


image.png

同時修改lib文件夾中的dylib文件


image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 準備工作 磁盤空間60G 編譯環(huán)境 Xcode 12.2(12B45b) Visual studio Code( ...
    HotPotCat閱讀 2,420評論 0 8
  • 編譯環(huán)境 xcode :Mac系統(tǒng)自帶 Python :Mac系統(tǒng)自帶 cmake:通過brew list命令查看...
    浪的出名閱讀 1,059評論 0 3
  • Swift底層源碼編譯步驟 準備工作 HomeBrew(軟件包管理器)如果被墻,請查看:國內(nèi)安裝HomeBrew教...
    Alex1989閱讀 1,197評論 2 2
  • 從今天開始,進入swift學(xué)習(xí)篇章。 想了解OC底層原理,可查看?? OC底層原理 學(xué)習(xí)大綱[https://www...
    markhetao閱讀 1,720評論 3 4
  • 編譯環(huán)境 Xcode 12.2 Python 2.7.16 ninja 1.10.1 編譯步驟 第一步:clone...
    Jax_YD閱讀 1,107評論 0 3

友情鏈接更多精彩內(nèi)容