xcode调试器的表达式值

时间:2011-01-25 18:00:27

标签: objective-c xcode

在XCode中,我在某行插入一个断点..

说那行是:

abc = [books valueForKey:@"OfficialName"];
x = [appDelegate.books count];

我的问题是在调试器中,如果我将鼠标悬停在abc上,它将显示值

但是,如果我想看到表达式的运行时值,请说"appDelegate.books count"

它没有显示值。如何获得此表达式的值,就像普通的var?

3 个答案:

答案 0 :(得分:5)

您可以使用调试器控制台确定变量值:

print (int) [arr count]

或使用命令po打印对象的描述

po objectName

答案 1 :(得分:0)

这不是一个变量,而是一条消息。但答案将存储在x中,因此将鼠标悬停在该位置上。

答案 2 :(得分:0)

这有些不正统,但是为了找到你在循环中得到的东西(参见我在其他答案中的hmthur的评论):

  

for(x = 0; x< [arr count]; x ++)

首先,将循环分布在三条单独的行上,以便您可以一次调试一步:

for (x = 0;
     x < [arr count];
     x++)

现在在for循环的开头放置一个断点。

降低x&lt; [arr count]已执行,但不是x ++

现在在调试器的监视窗口中,打开寄存器组。

[arr count]返回的结果将出现在$ eax寄存器中。

这是最不正统的,不依赖它来开发生命关键软件! 为了理智,坚持我的原始答案。