在Xcode 4.6.3中运行这两行之后,x
和y
都在调试器的变量视图窗格中标记为(null)
并带有灰色文本
NSNumber* y = [NSNumber numberWithBool:YES];
NSNumber* z = [NSNumber numberWithBool:NO];
同上:
NSNumber* literalYes = @YES;
NSNumber* literalNo = @NO;
然而,如果我在 Variables View 窗格中按上下文单击这些项目,并从上下文菜单中选择Print Description
,我会看到正确的1
或{{ 1}}值。
为什么调试器的 Variables View 窗格会将这些对象报告为0
?
答案 0 :(得分:1)
Xcode 4 调试器。 (见Herrman Klecker)上面的评论
忽略灰色文本“(null)”。
请查看此问题Xcode debugging: View value of NSNumber?,了解有关显示实际值的提示。
单向......
在代码后设置断点,单击调试器控制台视图,然后键入po y
使用“打印对象”命令。按Return / Enter执行表达式并在控制台中查看结果值。命令p
和po
适用于较早的gdb
和较新的lldb
调试器技术。有关示例,请参阅Debugging tips for Objective-C programming。
另一种方式......
打开Debugger视图,在Summary列中输入如下内容:
{(int)[$VAR intValue]}