Joh*_*kel 6 debugging formatter ios ios-simulator xcode4.5
我在Mac上使用Xcode 4.5和iOS模拟器来编写iPhone应用程序.当我在调试器中遇到断点时,我使用"Auto"来查看变量.问题是对象最初都是折叠的,我必须扩展每个对象才能看到它的值.没关系,但这很乏味且难以阅读.有没有办法自定义调试器中数据的显示方式?
我查看了LLDB教程,我在Quinn Taylor 的帖子中查看了"自定义汇总字符串" ,但我不明白.他必须使用旧版本的xcode.
基本上,我有一个对象,如
class Vec3 {public:float x,y,z; };
在调试窗口中,我看到了
pos (Vec3)
Run Code Online (Sandbox Code Playgroud)
而我宁愿看到的是
pos = (Vec3) (x=45.2, y=10.7, z=2.0)
Run Code Online (Sandbox Code Playgroud)
无需扩展变量.有谁知道我怎么做到这一点?
我能够使用xcode 4.5.2.总而言之,这些是步骤.
使用文本编辑器打开或创建〜/ .lldbinit,然后添加此行
type summary add Vec3 --summary-string "x=${var.x}, y=${var.y}, z=${var.z}"
Run Code Online (Sandbox Code Playgroud)重启xcode.现在,当您点击断点时,Vec3将显示为,
pos (Vec3) x=1, y=3.125, z=9.5
Run Code Online (Sandbox Code Playgroud)您可以在.lldbit中执行很多其他操作,如http://lldb.llvm.org/varformats.html中所述.
例如
type summary add Vec3 --inline-children --omit-names
Run Code Online (Sandbox Code Playgroud)
将自动生成摘要字符串和
type summary add --inline-children -x "Vec[:alnum:]*"
Run Code Online (Sandbox Code Playgroud)
将为以"Vec"开头的所有类型自动生成摘要字符串.
如果 Vec3 是您的类(或者您可以子类化的类),请覆盖其description. po pos这使您可以格式化您在控制台中所说的内容。
要获得更多的乐趣,请参阅此页面:
http://lldb.llvm.org/varformats.html
你可以说
type summary add --summary-string
Run Code Online (Sandbox Code Playgroud)
后跟一个字符串描述,说明您希望如何显示此类变量。
如果您真的想深入了解细节,您可以编写自己的格式化程序;WWDC 2012 的两个视频中关于调试和 LLDB 的讨论很好。但你必须编写一个 Python 脚本才能做到这一点,所以我给出了更多“菜鸟”解决方案。
| 归档时间: |
|
| 查看次数: |
3519 次 |
| 最近记录: |