例如,如果我尝试使用 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 能够从那里打印符号。
最佳答案
虽然我不确定您为什么会看到这些错误,但我并不是 llvm + Swift 的忠实拥护者,因为我发现它会生成长对象元数据而不是调用description
方法。
我找到了 e print(<object>)
更符合我对 llvm + objective-c
这相当于普通的 Swift print
方法; e
是 e
的 llvm 命令执行命令。
关于swift - 在设备上运行时无法检查 LLDB 中的 Swift 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36722475/