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一起正常工作 - 因此如果你遇到这个问题,我强烈建议升级.