LLDB 目标语言 - Swift 仅在 Xcode 中可用

LLDB Target Language - Swift Only Available in Xcode

当我在 Xcode 中的 Swift 应用程序上使用 LLDB 时(例如通过设置断点),我可以调用

settings set target.language swift

让 LLDB 理解 Swift 命令中的代码,例如 expression(因此 poprint)。

当我从命令行 运行 lldb 并尝试按上述方式设置目标语言时,出现错误:

error: invalid language type 'swift', valid values are:
    c89
    c
    c++
    c99
    objective-c
    objective-c++
    c++03
    c++11
    c11
    c++14

还有其他人遇到同样的问题吗?我该如何解决这个问题?


我运行正在使用 macOS 10.15.7

您可能在路径中的 /usr/bin/lldb 前面安装了 brew 或 llvm.org 安装了 clang 工具链,包括 lldb。 clang 工具链不包括 swift 编译器,或 swift-enabled lldb。

运行 lldb 将找到安装在您路径上的第一个 lldb,这可能是来自 home-brew 或 llvm.org.

的 clang

运行 命令 xcrun lldb 将始终 运行 您安装的命令 Xcode。此外,您可以通过 lldb 中版本命令的结果来判断。 swift 启用的版本将打印 Apple Swift 版本以及 lldb 版本。 clang 的不会。