2010-11-25 41 views
2

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

+0

鼠标悬停值在Xcode中,在那些弹出窗口导航显示三角形被剔除,效果这么好,我移山发展在OS X的Linux有针对性的方案享受那种行为。 – 2010-11-25 01:22:29

+0

当我将鼠标悬停在它上面时,弹出窗口显示它是“服务器”类型,当您展开该三角形时,它表明它是“ManagedObject”类型,并且从那里只是一堆无用的信息,在任何时候都不显示属性我已经定义。 – 2010-11-25 01:28:49

回答

3

在gdb的控制台中,类型

po [myServer root] 
2

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

gdb 
attach <your process name> 

(确保你的程序与调试符号建)。然后,当你的变量名是在范围上(例如,当你打破地方相关)型

po variableName 

查看其内容。

0

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

为此,请在想要查看的值设置后创建断点,然后对其进行编辑。添加一个'log'的断点动作,并将你想要记录的表达式放入一对@符号中。选中右侧的框,确保断点实际上不会导致停止。该值将在执行&调试时输出到调试器控制台。 (a)不要混淆你的源代码,(b)可以根据你的直接需求随意取消/启用断点,(c)不需要停止执行。

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

相关问题