在日常的项目开发中,难免遇到崩溃和异常,在这里我简单的说一些自己处理的心得
1、当测试、产品、用户或者其他人告诉你程序哪里有问题时,我们不要轻易的否定说这个肯定没问题或者是谁的问题(最多的是推给后台或网络)。首先我觉得应当回答:“我知道了,我这边看一下,定位一下问题”,作为一个开发者,我们应该有一个严谨的态度,不能轻易的、草率的下结论,这很有可能会给别人一种不靠谱不负责任的印象。其次,我们应当仔细的分析定位问题,经过自己的分析以后再告诉他人到底是程序的问题还是后台或者其他的什么原因(其实大部分还是自己的程序的问题),以及处理情况。
2、当在程序中遇到崩溃或异常时,我的一些处理方法
(1)靠直觉或者说靠猜,当然这个也不是瞎猜,是建立在你真正了解了代码的逻辑在根据自己的经验来判断的。通过这种方法,你可以快速缩小问题的范围,然后断点调试,就可以准确快速的定位问题。
(2)善于打断点,断点调试应该是程序员调试的基本功也是最有用的一个,基本可以定位90%的问题。多打断点,一步步的分析,输出每个变量元素的值,相信你可以很准确的找到问题所在,不要怕麻烦。
有时候模拟器调试,可能很难判断是那里出了问题,这个时候可以打全局断点来捕获出问题的地方。
(3)学会看崩溃的堆栈
看崩溃的堆栈是一个很有用的定位崩溃的方法,因为有时候xcode捕捉不到崩溃的断点,即使打了全局断点。这个时候看崩溃的堆栈就显得很有用,尤其崩溃是在使用一些第三方库的时候,你可以清楚的看到崩溃是发生在哪一条线程,崩溃在哪个方法里面,以及崩溃前执行的方法(有时候崩溃并不是最后一个方法造成的,可能是前面的方法穿了错误的参数所造成的),这时候就可以联系崩溃前后的方法来定位崩溃的原因
(4)在调试期间多打印NSLog,多输出当前的变量的值,也可以很快的找到问题所在
关于内存泄露,控制器释放不及时等这些异常,网上已经有很多相关的文章了,我就不献丑了。以上就是我平时遇到崩溃或异常时处理的一些方法,希望对你有些帮助,如果有更多好的方法,请在下面留言,大家多多交流,一起提高