在设备上运行时,无法检查LLDB中的Swift变量

时间:2016-04-19 15:11:50

标签: swift lldb

例如,如果我尝试使用po self在lldb中打印变量,我会得到:

(lldb) po self
error: Couldn't lookup symbols:
  __TMC4skyq12BlahBlahBlah

事实上,我实际上无法从lldb评估/打印任何内容:

(lldb) expression "Hello World!"
error: Couldn't lookup symbols:
  __TMC4skyq12BlahBlahBlah
(lldb) p "Hello World!"
error: Couldn't lookup symbols:
  __TMC4skyq12BlahBlahBlah

我该如何解决这个问题?我正在使用:Xcode 7.3(7D175)。

观察

  • 当我在物理设备上运行时,似乎只会发生这种情况。在模拟器上,错误不会发生。
  • 我还创建了一个空的标准项目,检查工作正常。
  • 它只发生在代码库的Swift部分。如果我在obj-c代码中有断点,lldb就能从那里打印符号。

1 个答案:

答案 0 :(得分:0)

虽然我不确定你为什么会看到这些错误,但我还没有成为 llvm + Swift 的最大粉丝,因为我发现了它生成长对象元数据而不是调用description方法。

我发现e print(<object>)可以更好地与我以前使用的 llvm + objective-c

保持一致

这相当于普通的Swift print方法; ee执行命令的llvm命令。