首页 > 代码库 > iOS常见崩溃情况以及bug调试解决方法
iOS常见崩溃情况以及bug调试解决方法
本博客会不定期更新,将我在项目中常见的崩溃情况进行整理后分享给大家:
1.unrecognized seletor。错误:这种情况很简单,给一个对象发送了一条它不认识的消息。比如说你的.h中声明了某一个方法,但是.m中却没有实现,而且你没有对异常消息处理(消息转发)就会造成这种现象。解决办法:首先排查自己的某一些方法是否实现,其次看一下哪些对象接收了它不该接收的消息。
2.index 1 beyond NSArraMu [0,0]数组越界:数组越界这个不多说。
3.NSNul length 这个异常以可以归类为第一种,也是给某一个对象发送了不识别的消息。常见原因有:给UILabel对象设置了text,此时的text内容为空字符串null,然后你在取text的length的时候就会抛出异常。
4.EXC_BAD_ACCESS异常:这种大多数是对象提前释放,访问了野指针的错误。解决办法:排查所有声明为weak对象的使用,是否在没有持有的情况下再次访问了该对象(该对象已经被释放),第二在MRC情况下,排查一下所以已经release的对象(声明一点,MRC中全局变量最好在dealloc方法中进行释放),第三排查一下所有block,是否block被正常赋值等。
5.崩溃在main函数。这种情况最苦逼也是最难找到bug所在,这种情况下,用@try @catch将main函数包裹起来,这样会抛出异常堆栈信息等,或者通过添加全局breakPoint来追踪bug。
欢迎加入iOS技术交流群 :爱疯、爱Coding 群号:209476515
iOS常见崩溃情况以及bug调试解决方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。