iOS 8.1系统运行崩溃一

      哪里有人们抱怨的地方,哪里就会有机遇

在iPhone 6 模拟器iOS 8.1系统一运行一点就崩了,iOS 9和iOS 10都没问题,why?接下来看我如何一步一步跳过坑!

第一步:下图,崩溃后停在了main函数,然后没有了任何的报错信息了?看到这里非常头痛,因为根本定位不出问题。

幸运的是main函数还有一点点的信息,Tread1: EXC_BAD_AXXESS(code=1,addre=0x1aea452b0)


iOS 8.1系统运行崩溃一_第1张图片
C16D70C1-E8F1-49D3-9CB2-D98954BDD462.png

利用这一点点信息,我各种百度各种谷歌。得知:这种错误通常是内存管理的问题,一般是访问了已经释放的对象导致的,可以开启僵尸对象(Zombie Objects)来定位问题。

第二步:开启僵尸对象检测

iOS 8.1系统运行崩溃一_第2张图片
屏幕快照 2017-07-13 下午8.57.06.png

关于僵尸对象: http://blog.csdn.net/yi_zz32/article/details/48639005
开启僵尸对象检测后,运行 如下图
iOS 8.1系统运行崩溃一_第3张图片
78D3B23D-A2C3-448F-8020-79788787EBD7.png

看到这里我觉得希望来了。然后就根据这个报错信息各种百度,最终得知是某个分类重写了系统的- dealloc方法 导致崩溃!
果然找到重写了- dealloc方法的分类,注释!
iOS 8.1系统运行崩溃一_第4张图片
E8174007-9659-4FF9-91C4-2B7127A23A5D.png

最后运行,完美解决,感觉前方大路还是光明的 。 真的这个- dealloc方法,千万要小心的用,别写在分类,写在子类是没问题的

总结:真的这种问题很难解决,我花费了很长时间,中间省略了我解决问题的各种尝试,这里直接献上我的解决方案。很多时候我们会遇到各种疑难杂症,面对这些问题,我们不要心浮气躁,要有耐心,逐步的排除会出现问题的原因。就像我解决这个问题的那样,当我在网上找到的答案,有人说是图片格式的问题,然后我就把项目中所有的图片给删了,虽然没有解决,但排除了图片不会出问题,然后就定位在了代码问题和项目配置问题。其实人生也是如此,往往在人生道路上有很多绊脚石,但也因为这些阻碍而促使我们成长,让我们越来越强大,最终享受胜利的果实!

你可能感兴趣的:(iOS 8.1系统运行崩溃一)