在Objective-C中调试时查看变量数据

时间:2010-11-25 01:17:16

标签: objective-c debugging

我来自.Net世界所以我习惯于在调试时将鼠标悬停在一个变量上,看看它的价值是什么。
在Objective-C中,我对如何做到这一点感到非常困惑 如果我将鼠标悬停在它上面,我会收到一个包含大量信息的小弹出窗口......这对我没有任何帮助 例如,我有一个名为“myServer”的对象,它是我通过CoreData创建的“服务器”的实例。它的一个属性是“root”,它是一个简单的NSString。 我不能为我的生活找出如何查看[myServer root]的价值 有人可以就此给我一些建议吗?

3 个答案:

答案 0 :(得分:3)

在gdb控制台中,输入

po [myServer root]

答案 1 :(得分:2)

我喜欢从命令行使用GDB。打开终端并输入

gdb
attach <your process name>

(确保您的程序是使用调试符号构建的)。然后,当您的变量名称在范围内时(例如,当您在相关位置打破时)输入

po variableName

查看其内容。

答案 2 :(得分:0)

另一个处理此问题的好方法是直接从断点登录。

要执行此操作,请在设置要查看的值后创建断点,然后对其进行编辑。添加'log'的断点操作,并将要记录的表达式放在一对@符号中。选中右侧的框,确保断点实际上不会导致停止。该值将在执行运行时输出到调试器控制台。调试。

这样做(a)不会使你的来源混乱,(b)可以根据你的需要随意解除/启用断点,(c)不需要停止执行。

这个和其他非常方便的xcode提示可以从Joar Wingfors' 'Debugging with Xcode' talk.

中剔除