EXC_BAD_ACCESS报错解决方法之--NSZombieEnabled

相信不管是大牛,还是新手,都会经历和EXC_BAD_ACCESS亲密接触的时光。面对由此产生的Crash,Xcode只提供了很有限的信息,是的定位错误比较麻烦。

产生EXC_BAD_ACCESS错误的原因主要有这几种:

  • 向已release的对象发送消息(或者说调用该对象的方法)
  • 对同一对象重复release
  • 对标记为autorelease的对象进行release
Xcode5中设定NSZombieEnabled的步骤:Xcode5菜单 - > Product - > Scheme - > Edit Scheme - > 勾选Enable Zombie Object。参照图例


激活了zombie模式之后,程序出现EXC_BAD_ACCESS错误时,就会再控制台打印出具体出现报错的对象和调用的方法,问题一目了然。

求人不如求己,英文好的同志就多看官方文档吧:
https://developer.apple.com/library/ios/technotes/tn2239/_index.html
下面的链接详细讲解了NSZombieEnable的原理,供大家研究学习:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值