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

问题描述

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

settings set target.language swift

让LLDB理解expression之类的命令(以及poprint之类的命令中的Swift代码。)

当我从命令行运行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前面安装了clang工具链的brew或llvm.org,包括lldb。 lang工具链不包含swift编译器或启用swift的lldb。

运行lldb将在您的路径中找到第一个安装的lldb,它可能是来自home-brew或llvm.org的叮当声。

运行命令xcrun lldb将始终从安装的Xcode中运行该命令。同样,您可以通过lldb中的version命令的结果来判断。启用了swift的版本将打印Apple Swift版本以及lldb版本。 c的不会。