读书人

debug初记

发布时间: 2012-09-04 14:19:30 作者: rapoo

debug小记

??编程难免有bug,一些隐蔽的bug往往让人比较烦恼,初学者更是如此,俺经过亲身经历,整理了一些debug的小技巧,希望对初学者有所帮助,高手拍砖也欢迎哈debug初记

1.最常用的肯定是NSLog了,可以查看各种变量在各个状态的值,而且对于程序流程的整理也很有帮助

2.单步调试,一般鼠标悬浮在变量上就可以快速查看变量的状态,俺一般看这个变量的地址,就是0x开头的,主要是看它是否为nil,nil的地址是0x0,字符串可以看具体值,而字典和数组却只显示count,即有多少个元素或键值对,如果要查看整个数组或字典的话,此时是不行的(呵呵,方法在后面debug初记)

俺主要想说的其实是后面这几点,呵呵

3.debuger在单步调试的时候会出现,三部分,俺初学的时候只用下面的单步调试,直观快捷


debug初记

3-1.后来发现:有个比较快捷的方法查看数组和字典,右上角的窗口里,有Arguments和locals(俺常用),在Arguments的self或loacls里有你想查看的数组的话,选中它,右键菜单上有print description to console,可以很方便的在console里查看数组和字典的值,当然像文件夹路径这种长字符串更不在话下了

3-2.左上角的窗口以前看上去好复杂,虽然现在看还是复杂,但俺看出了点门道,特别是在interrupt的时候,报错状态下,左上角的第一行显示????,其实左上角是倒序显示的,就是说最后执行的语句是在第一句,而已经执行的是显示在下面,有的时候,???下面有一些是显示"方法的调用",即[object message],这很关键,可以找到距离报错的地点最近的地方,经过俺的实践,常常就是在那解决bug的

4.也是在报错状态,console一般会显示错误信息,常见的unregnise selector这些看多了也就熟悉了,有的时候会显示Call stack at first throw这种也是倒着看,先执行的在下面显示,定位到离错误最近的地方解决bug,如:

?

读书人网 >移动开发

热点推荐