lldb无法打印变量值"错误:引用'id'是不明确的"

Jos*_*phH 45 objective-c ios lldb xcode4.3

由于我更新到xcode 4.3并让它将我的调试器切换到lldb,因此任何打印成员变量的请求都会失败,并显示以下错误消息:

(lldb) print request
error: error: reference to 'id' is ambiguous
note: candidate found by name lookup is 'id'
note: candidate found by name lookup is 'id'
error: 1 errors parsing expression
Run Code Online (Sandbox Code Playgroud)

'自我'没问题:

(lldb) print self
(LoginViewController *) $6 = 0x1cd54d50
Run Code Online (Sandbox Code Playgroud)

打印成员变量的其他形式也会失败:

(lldb) print self.request
error: property 'request' not found on object of type 'LoginViewController *'; did you mean to access ivar 'request'?
error: 1 errors parsing expression
(lldb) print self->request
error: error: reference to 'id' is ambiguous
note: candidate found by name lookup is 'id'
note: candidate found by name lookup is 'id'
error: 1 errors parsing expression
Run Code Online (Sandbox Code Playgroud)

否则其他一切似乎都运转良好.Xcode的变量窗口可以正确检索值.我尝试了一个干净的构建并删除了〜/ Library/Developer/Xcode/DerivedData /.谷歌搜索没有透露任何其他相同问题的实例.

我在Apple的开发论坛上发现了一个帖子但没有解决方案:

https://devforums.apple.com/message/623694

我已经向Apple报告了这个错误ID#11029004.

Jos*_*phH 39

我发现了一个解决方法:

使用"产品"菜单下的"编辑方案",在左侧栏中选择"运行","信息"选项卡,然后将调试器更改为gdb(这不适用于不再具有gdb的xcode 5).

显然Apple认为他们已经修复了xcode 4.3.1中的这个错误,但它仍然会发生.我提交了一些他们要求的额外调试信息,所以我希望它能在xcode的下一个版本中修复.它仍然在4.3.2失败.有关Apple的更新,请访问https://devforums.apple.com/message/623694.

UPDATE

我已经尝试了各种我遇到问题的情况,而且它们似乎都在Xcode 4.4.1中与lldb一起正常工作 - 因此如果你遇到这个问题,我强烈建议升级.

  • 更新:Xcode 5已经完全删除了gdb,你在所有的荣耀中都被lldb困住了. (3认同)