我有以下代码:
if (labelEast.center.x > (east_oldposition.x + 50) ) NSLog(@"Time to switch to prevIoUs exercise !"); else if (labelEast.center.x < (east_oldposition.x - 50) ) NSLog(@"Time to switch to next exercise !");
设置断点后,我只是想看看labelEast.center.x(labelEast是一个UILabel对象).由于我在Xcode 4菜单中找不到监视项目,因此我尝试使用gdb.我习惯用po(打印对象)打印变量/对象值.但是现在,我无法显示labelEast中心属性,因为它是从母类继承的.
(gdb) po labelEast.center
There is no member named center.
我不明白为什么gdb说这个,而代码工作正常并看到属性.
因此我有两个问题:
>如何在没有gdb的情况下以图形方式观看这样的属性(就像在Visual Studio中一样)?
>如何用gdb做同样的事情?
非常感谢,
弗朗茨
不幸的是,我尝试了但得到了这个:
po [labelSouth center]
Program received signal EXC_BAD_ACCESS,Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x1a000356 0x343c7d06 in
objc_msgSend_stret () The program being deBUGged was signaled while in
a function called from GDB. GDB remains in the frame where the signal
was received. To change this behavior use “set unwindonsignal on”
Evaluation of the Expression containing the function (objc_msgSend)
will be abandoned.
当我尝试:
(gdb) print labelSouth.center
There is no member named center.
我真的怀疑UILabel没有中心物业.但我怎么能运行代码???
解决方法 我自己几次打这个东西只是为了记住“哦,没错,gdb不支持点符号所以我必须使用getter”.然后就做:(gdb) po [myObject someProperty]
一切都与世界相处得很好.同时重读你的问题我发现你要求打印一个非对象,因此你必须给gdb一个你要打印的属性类型的提示:
(gdb) p (CGRect)[myVIEw frame](gdb) p (CGPoint)[myVIEw center]
等等.
总结以上是内存溢出为你收集整理的Xcode 4 / gdb /如何简单地观察对象属性?全部内容,希望文章能够帮你解决Xcode 4 / gdb /如何简单地观察对象属性?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)