我使用的是xCode 4.3.1,当我想要使用lldb时,我几乎没有得到任何调试信息,而是在一个简单的NSMutableDictionary属性上得到了以下结果:
(lldb) po _keywordCache
error: instance method 'delegate' has incompatible result types in different translation units ('objc_object *' vs. 'id')
error: instance method 'delegate' has incompatible result types in different translation units ('objc_object *' vs. 'id')
note: instance method 'delegate' also declared here
note: declared here with type 'id'
note: instance method 'delegate' also declared here
note: declared here with type 'id'
error: 2 errors parsing expression
切换到gdb总是会得到正确的结果。
有谁有主意吗?
发布于 2012-04-19 23:12:06
在我的例子中,问题的根源是在实例变量和属性声明中,有问题的属性“委托”被声明为一个细微不同的类型。在我的例子中,实例变量类型是id
,属性声明是id<SomeProtocol>
。
我将把这作为一个bug报告给Apple,因为它不应该导致变量检查失败。修复方法是确保实例变量和属性声明将“委托”描述为完全相同的类型。希望这能有所帮助!
发布于 2014-09-24 02:14:14
我知道这很晚了,但在Xcode6上遇到了这个问题,需要做一个Clean Build文件夹(在选择clean的同时按住option )。
发布于 2014-05-03 04:51:53
我也有这个错误,但对我来说,它实际上与代码没有任何问题。我所做的就是单击控制台中“切换全局断点状态”按钮右侧的按钮。
它是蓝色的箭头形状的按钮。
https://stackoverflow.com/questions/10171065
复制相似问题