由于我更新到了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

"self "是可以的:

(lldb) print self
(LoginViewController *) $6 = 0x1cd54d50

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

(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

其他一切似乎都很好.Xcode的变量窗口可以正确地检索该值.我try 了一个干净的构建并删除了~/Library/Developer/Xcode/DerivedData/.谷歌还没有发现任何其他类似问题.

我在苹果的开发者论坛上找到了一个帖子,但没有解决方案:

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

我已经以Bug ID#11029004向苹果报告了这一点.

推荐答案

我找到了一个解决办法:

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

显然,苹果认为他们已经在xcode 4.3.1中修复了这个漏洞,但它仍然存在.我提交了一些他们要求的额外调试信息,所以我希望它能在下一版本的xcode中得到修复.它在4.3.2中仍然失败.苹果的更新见https://devforums.apple.com/message/623694.

UPDATE

我try 过各种我遇到问题的 case ,它们似乎都可以在Xcode 4.4.1中与lldb配合使用——因此,如果您遇到这个问题,我强烈建议升级.

Objective-c相关问答推荐

Objective-C:为什么[对象复制]的两个请求返回相同的结果?

UITextField secureTextEntry 带有自定义字体的项目符号?

uipageviewcontroller 类在设置多个视图控制器时崩溃

Objective-C - 将浮点数转换为字符串的其他方法

如何使 UIView 动画序列重复和自动反转

从 C# 到 Objective C 会有多大的飞跃

UIButton 标题更改为默认值

如何使用格式化占位符本地化字符串?

如何将 NSMutableArray 中的字符串按字母顺序排序?

使用 [NSBundle mainBundle] pathForResource: ofType:inDirectory: 访问文件

不区分大小写的核心数据 CONTAINS 或 BEGINS WITH 约束

访问当前视图的父视图 - iOS

Objective-C:块 vs. Select 器 vs. 协议

关闭一次后如何返回允许推送通知对话框?

如何在嵌入 UIViewController 的 UITableView 中直观地创建和使用静态单元格

UITextField:键盘出现 timeshift 动视图

深入了解保留周期

Highlighted 和 Selected UIButton 的 State 有什么区别?

AppDelegate 的当前视图控制器?

按字典中键的值对字典的 NSArray 进行排序