lldb调试器给出错误答案?

时间:2018-08-22 22:02:22

标签: ios swift xcode debugging lldb

我是Xcode的新手,没有使用lldb调试工具的经验。我正在关注Apple的教程here。我注意到lldb工具为我提供了一些有关鼠标悬停的变量的相反信息。这是怎么发生的?

Screen shot 2

1 个答案:

答案 0 :(得分:0)

我有一些兴趣发现。我将它们发布到社区,因为我还没有在SO上看到任何类似的答案。但是,它本身更像是一个线索,而不是真正的“答案”。

在阅读this这样的答案后,我在lldb上玩了一些。这是我尝试过的一件事:

let v1: Int? = nil
let v2 = (v1 is String)
let v3 = (v1 is Int?)
let v4 = (v1 is Int)

然后我对它们做了ppo ...

|---------|----------|----------|----------|----------|
|         |    v1    |    v2    |    v3    |    v4    |
|    p    |   nil    |   false  |   true   |   false  |
|    po   |   nil    |   true   |   true   |   true   |
|---------|----------|----------|----------|----------|

我可以肯定地将此实验与原始情况联系起来,其中presentingViewController也为零。看起来,命令po(显示对象的描述)将显示true到“任何OptionalVariable is任何类型”语句。

我仍在对此进行更多研究并寻找官方文档...