Ben*_*tto 8 debugging xcode objective-c
在默认(即我的)配置中,Xcode在其变量的调试器窗口中有点无用,特别是那些常见的Objective-C集合.
调试器似乎通常希望在展开某个对象时显示底层的Obj-C结构,所以我正在查看isas和类层次结构.
但是我在这里几乎总是想要的是对象本身具有语义意义的东西.例如NSDictionary,我理想地想要查看键/值列表.如果这些键和值是,例如NSStrings,我只想看到字符串值,而不是复杂的嵌套对象.这同样适用于NSSetS,NSArrays和内部的字节NSData.并且NSString,虽然通常在摘要列中获取它们的字符串表示,但是当它们很长时(例如,在列中看起来太长而不能滚动的路径名)时,我们无法查看 - 当我双击时它,我得到显示模板字符串,所以我不能选择/复制它.
我最近花了一些时间在Eclipse上调试Java,并且由于它的所有缺点,Eclipse知道所有Java集合,并且在字符串或集合的内容中有一个简单的单行转储,或者在调试器中找到它时的任何内容.
有没有办法在Xcode中获得这个?我错过了一些明显的东西,还是应该潜入显示模板系统?我知道那里有一些支持,因为NSArrays似乎得到一种特殊的列表格式,NSDictionaries获得"2键/值对"摘要等.
编辑:可以放入GDB以获取更多关于对象的数据.令我感到沮丧的是,GDB po在an上的行为NSDictionary给出了我期望从GUI调试器中获得的那种非常有用的输出.可以在没有上下文切换到控制台的情况下复制吗?
我非常喜欢Xcode环境,但是我一直使用的对象几乎完全不透明,这确实阻碍了调试时间.谢谢.
在Xcode 6中这个功能好像已经实现了?当 2010 年问这个问题时,我无法谈论 Xcode 的功能。
\n\nNSString、NSNumber、NSArray和NSDictionary代码中的值,并带有断点:
当断点中断时,您可以在 Xcode“变量视图”中看到值。对于集合,您可能需要展开详细信息箭头:
\n\n\n\n如果右键单击变量并选择"Print Description of variable_name",则该对象的-debugDescription/-description值将打印到控制台。这对于更复杂的集合通常很有用,也许对于长NSString值等有用。
| 归档时间: |
|
| 查看次数: |
1867 次 |
| 最近记录: |