问题描述
当我在Xcode中的Swift应用程序上使用LLDB时(例如,通过设置断点),我可以调用
settings set target.language swift
让LLDB理解expression
之类的命令(以及po
和print
之类的命令中的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的不会。