1

在 Xcode 4.6.3 中运行这两行后,在调试器的“变量视图”窗格中,两者xy被标记为(null)灰色文本。

  NSNumber* y = [NSNumber numberWithBool:YES];
  NSNumber* z = [NSNumber numberWithBool:NO];

同上:

  NSNumber* literalYes = @YES;
  NSNumber* literalNo = @NO;

然而,如果我在“变量视图”窗格中上下文单击这些项目,并从上下文菜单中选择Print Description,我确实看到了正确的10值。

为什么调试器的“变量视图”窗格会报告这些对象,因为null它们不是?

4

1 回答 1

1

Xcode 4调试器的谎言。(见Herrman Klecker上面的评论)

忽略灰色文本“(null)”。

看这个问题,Xcode调试:查看NSNumber的值?, 有关显示实际值的提示。

一种方法... 在您的代码后设置断点,单击进入调试器控制台视图,然后通过键入来使用 Print Object 命令po y。按 Return/Enter 执行表达式并在控制台中查看结果值。这些命令ppo工作在较旧gdb和较新的lldb调试器技术中。有关示例,请参阅Objective-C 编程的调试技巧。

另一种方法...打开调试器视图并在摘要列中输入如下内容: {(int)[$VAR intValue]}

于 2013-09-11T19:39:28.803 回答