理解Xcode调试器var显示

时间:2011-10-13 18:23:58

标签: xcode

新手问题:有人能告诉我如何理解/解释调试器var窗格中显示的内容吗?

例如:我正在传递NSDictionary作为方法参数。我设置了一个断点,所以我可以检查字典中的值。下面的图像(如果它通过..)显示调试器中此var的展开视图。它正确地报告它包含3个名称/值对,但是当我展开所有部分时,我根本无法找到这些存储的位置。

我是否必须创建这些名称/值对的本地变量才能在我想检查时查看它们?我知道我可以使用NSLog或printf,但有时我只是想快速浏览一下。

dictionary var in debugger

2 个答案:

答案 0 :(得分:17)

右键单击该变量,单击“编辑摘要格式”并键入以下内容:

{(NSString*)[$VAR description]}:s

通过调用更昂贵的描述方法,它取代了NSDictionary的GDB格式化程序 也就是说,而不是“x键/值对”,您将看到由[ - NSDictionary描述]生成的字典内容。

这与在控制台窗口中键入po dictionary相同。或者右键单击变量并选择“打印描述”。他们都调用了对象的描述方法。


如果您感到好奇,可以在密钥NSDictionary下的/Developer/Library/Xcode/CustomDataViews/Foundation.plist找到此格式化程序。您键入的替换内容将保存在/Users/USERNAME/Library/Developer/Xcode/UserData/Debugger/CustomDataFormatters中,并且会一直运行,直到您删除该文件为止。

NSDictionary实际上是一个类集群,很少有人知道内部结构。此时,您不会对该调试器树有太多用处。

答案 1 :(得分:-1)

这就是你要找的东西: 点击你的词典,然后点击小“i”图标:-) Xcode5, view the value of a dict