001-Swift进阶-部署调试环境

一、swift源码下载与配置

编辑环境

  • xcode12
  • Python 2.x
  • brew install cmake ninja

编译步骤

  • 第一步:clone swift源码
    git clone --branch swift-5.3.1-RELEASE https://github.com/apple/swift.git
    最新版本到苹果官网下载:地址,Xcode版本要与下载代码匹配。
  • 第二步:update-checkout
    确保当前目录在swift-source下,执行如下命令:
    ./swift/utils/update-checkout --tag swift-5.2.4-RELEASE --clone
    这一步会clone编译swift相关的库,不成功则后面编译一定失败。
  • 第三步:编译
    使用ninja编译
    ./swift/utils/build-script -r --debug-swift-stdlib --lldb
  • 第四步:VSCode调试Swift(网上下载一个Visual Studio Code)
    1、进入VSCode安装插件


    WeChatbd1c861ec102f7246533dc47e9ee9bfa.png

    2、配置JSON


    image.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}"
 }
 ]
}

3、run运行


image.png

过了断点


image.png
image.png

4、可以在VSCode的控制台下面编写代码,打断点调试了

image.png

编写过后会进入HeapObject.cpp文件的swift_allocObjcet方法,可以在这里打断点
image.png

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库


image.png

你可能感兴趣的:(001-Swift进阶-部署调试环境)