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

在Objective-C中调试时查看变量数据,objective-c,debugging,Objective C,Debugging,我来自.Net世界,所以我习惯于在调试变量并查看其值时将鼠标悬停在变量上。 在Objective-C中,我对如何做到这一点感到难以置信的困惑。 如果我将鼠标悬停在上面,会弹出一个小窗口,其中包含大量信息……这对我毫无帮助。 例如,我有一个名为“myServer”的对象,它是我通过CoreData创建的“服务器”的实例。它的一个属性是“root”,它是一个简单的NSString。 我一辈子都不知道如何查看[myServer root]的值。 有人能给我一些建议吗?在gdb控制台中,键入 po [m

我来自.Net世界,所以我习惯于在调试变量并查看其值时将鼠标悬停在变量上。
在Objective-C中,我对如何做到这一点感到难以置信的困惑。
如果我将鼠标悬停在上面,会弹出一个小窗口,其中包含大量信息……这对我毫无帮助。
例如,我有一个名为“myServer”的对象,它是我通过CoreData创建的“服务器”的实例。它的一个属性是“root”,它是一个简单的NSString。 我一辈子都不知道如何查看
[myServer root]
的值。

有人能给我一些建议吗?

在gdb控制台中,键入

po [myServer root]

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

gdb
attach <your process name>

查看其内容。

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

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

这样做,您(a)不会使源代码混乱,(b)可以根据您的即时需要随意取消/启用断点,并且(c)不需要停止执行


这个和其他非常方便的xcode提示可以从

中挑选出来,悬停在xcode中的值上,并在这些弹出窗口中导航披露三角形,效果非常好,以至于我移山越岭,在OS X中开发针对linux的程序来享受这种行为。当我悬停在上面时,我会看到一个弹出窗口,上面写着“服务器”类型当你展开这个三角形时,它表示它是“ManagedObject”类型,从这里开始,它只是一堆无用的信息,没有显示我定义的属性。另外,当我悬停在一个名为“username”的NSString上时,我看到的是。其中没有任何数据对我正在寻找的内容有任何意义。谢谢你,这回答了这个问题,并帮助我认识到我需要帮助调试CoreData对象。谢谢我敢肯定,这是一个愚蠢的问题,但如何让这个GDB控制台显示在Xcode中呢?我在第五版。
po variableName