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

标签 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 能够从那里打印符号。

最佳答案

虽然我不确定您为什么会看到这些错误,但我并不是 llvm + Swift 的忠实拥护者,因为我发现它会生成长对象元数据而不是调用description方法。

我找到了 e print(<object>)更符合我对 llvm + objective-c

的习惯

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

关于swift - 在设备上运行时无法检查 LLDB 中的 Swift 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36722475/

相关文章:

swift - 游戏 Controller 布局检测-swift

ios - 为什么 LLDB 调试器总是无法附加?

python - lldb python API 访问获取和设置断点命令(非 python 类型)

ios:当我在模拟器中关闭应用程序时出现 lldb 错误

rust - 在 vscode-lldb 中调试 chrono::DateTime 时如何查看用户友好的格式?

ios - aws Rekognition 未在 iOS 上初始化

swift - 关闭时缺少返回预计返回 'Void?'

ios - ISO8601DateFormatter 不解析 ISO 日期字符串

rust - 当多个 Rust 源文件共享相同的名称时,我可以设置 LLDB 断点吗?

php - 如何使用 php 将 iOS 应用程序连接到 mySQL 数据库