EXC_BAD_ACCESS报错解决方法之--NSZombieEnabled

来源:互联网 发布:淘宝店招代码生成器 编辑:程序博客网 时间:2024/06/10 04:18

相信不管是大牛,还是新手,都会经历和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的原理,供大家研究学习:
http://www.cocoadev.com/index.pl?NSZombieEnabled

0 0
原创粉丝点击