查看方法调用的返回值

时间:2012-07-21 09:21:47

标签: objective-c ios xcode debugging

如何在不更改代码的情况下查看调试器中[fetchedResultsController sectionIndexTitles]的值?

 return [fetchedResultsController sectionIndexTitles];

目前,我习惯于添加一个临时变量s,然后使用“打印's'的描述”命令。但是这种方法需要我更改代码,因此不方便。

NSArray *s= [fetchedResultsController sectionIndexTitles];
return s;

类似地,能够在以下语句中看到[a method1]的值非常有用:

[b [a method1]]

3 个答案:

答案 0 :(得分:5)

使用断点...向return行添加断点,右键单击断点,编辑断点,现在有两个选项......

添加动作调试器命令...

expr (void)NSLog( @"%@", [fetchedResultsController sectionIndexTitles] );

...或以类似方式记录消息操作,并在评估后启用自动继续。

它做什么?

每次使用断点连接时,您的应用程序都会暂停,处理断点操作,并且在评估后打开自动继续,您的程序会在处理这些断点操作时继续。这是如何在不修改代码的情况下记录,检查......的方法。

答案 1 :(得分:4)

我找到了诀窍:

在断点被击中后,只需在LLDB中输入以下命令即可完成任务:

po [self.fetchedResultsController sectionIndexTitles]

poexpression -o --的缩写,用于打印表达式产生的值的对象描述。

答案 2 :(得分:1)

返回值在Xcode调试器中,在从函数调用返回后立即可见(即,在点击“step out”按钮后立即)。请参见下面的屏幕截图,例如:

enter image description here

相关问题