objective-c – 在Xcode中调试时的智能Obj-C变量内容?
在默认(即我的)配置中,Xcode在其变量的调试器窗口中有点无用,特别是那些常见的Objective-C集合.
调试器似乎通常希望在展开某个对象时显示底层的Obj-C结构,所以我正在查看isas和类层次结构. 但是我在这里几乎总是想要的是对象本身具有语义意义的东西.例如.对于NSDictionary,我理想地想要查看键/值列表.如果这些键和值是,例如NSStrings,我只想查看字符串值,而不是复杂的嵌套对象. NSSets,NSArrays和NSData中的字节也是如此. NSStrings虽然通常在Summary列中得到它们的字符串表示,但是当它们很长时(例如,一个太长而不适合列的路径名似乎不会滚动)时,我们无法查看它 – 当我双击时它,我得到显示模板字符串,所以我不能选择/复制它. 我最近花了一些时间在Eclipse上调试Java,并且由于它的所有缺点,Eclipse知道所有Java集合,并且在字符串或集合的内容中有一个简单的单行转储,或者当你在调试器中找到它时. 有没有办法在Xcode中获得这个?我错过了一些明显的东西,还是应该潜入显示模板系统?我知道那里有一些支持,因为NSArrays似乎得到一种特殊的列表格式,NSDictionaries获得“2键/值对”摘要等. 编辑:可以放入GDB以获取更多关于对象的数据.令我感到沮丧的是,GDB的用于NSDictionary的po提供了我期望从GUI调试器获得的那种非常有用的输出.可以在没有上下文切换到控制台的情况下复制吗? 我非常喜欢Xcode环境,但是我一直使用的对象几乎完全不透明,这确实阻碍了调试时间.谢谢. 解决方法
在Xcode 6中,这个功能似乎已经实现了?在2010年提出这个问题时,我无法谈论Xcode的功能.
代码中的NSString,NSNumber,NSArray和NSDictionary值,带有断点: 断点断开时,您可以在Xcode“变量视图”中看到值.对于集合,您可能需要展开详细信息箭头: 如果右键单击变量并选择“打印variable_name的变量”,则对象的-debugDescription / -description值将打印到控制台.这对于更复杂的集合通常很有用,并且可能对于长NSString值等有用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |