iphone调试的一些问题
iphone 调试的技巧,原来一般使用的是打断点,NSLog输出
最近公司项目都是在真机上调试,所以总结一下调试方法:
1.Breakpoint: 常用,但是Xcode显然不足,有时断点明明打在A处,它却莫名奇妙的停在B处,还有就是Xcode的堆栈查看没有VS的强大,所以有些变量,返回值根本看不了,而且不能指定监视某个变量,所以打断点许多时候也就是快速定位出问题的地方
2.NSLog: 这个调试时很有用,而且即使你iphone不连上电脑,如果Crash了,也可以在Organizer->Console中通过追踪NSLog的消息找到一些线索
3.Crash Report: 这个原来也用,但是不常用,因为大部分是一些内存地址,不知道如何分析,也就是最近,网上看到某篇文章,才知道原来Crash Report还可以这样用,打开控制台,定位到工程build目录下
> atos -arch arm -o MyApp.app.dSYM/Contents/Resources/DWARF/MyApp 0x00001111
0x00001111是在Crash Report中查看的内存地址, 你就可以得到形如:
-[XXXX](in YourApp) (YourXXX.m:123) 快速定位到某行