iOS 开发之EXC_BAD_ACCESS异常分析
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了iOS 开发之EXC_BAD_ACCESS异常分析,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含900字,纯文字阅读大概需要2分钟。
内容图文
![iOS 开发之EXC_BAD_ACCESS异常分析](/upload/InfoBanner/zyjiaocheng/1313/22d7dec2c19c43729988c76d6980a263.jpg)
一:EXC_BAD_ACCESS异常介绍
在调试objective-c程序的过程中,程序crash的现象在所难免,但大部分的错误都能够通过显示的错误原因结合NSLog的方式来解决,比如NSInvalidArgumentException(名字就能看出来是什么错误)等,实在搞不定还有debug这个杀手锏。但唯独EXC_BAD_ACCESS这个异常太难处理了,名字看不出来是什么原因,其他提示也没有,debug都搞不定。
先来介绍下EXC_BAD_ACCES:这个异常基本上是内存使用不当造成的,而且90%的错误来源在于对一个已经释放的对象进行release操作。
二:分析方法
为工程运行时加入 NSZombieEnabled 环境变量,并设为启用,则在 EXC_BAD_ACCESS 发生时,XCode 的 Console 会打印出问题描述。并同时添加MallocStackLogging和MallocStackLoggingNoCompact两个环境变量,来启用malloc记录
三:输出信息
只要添加了NSZombieEnabled变量,在发生EXC_BAD_ACCESS会在concole中打印出错误原因,绝大多数都会出现这个信息
运行代码,出现下面的崩溃现象
![技术分享](http://www.devdiv.com/data/attachment/album/201305/16/112645nhos6en5bhespide.png)
![技术分享](http://www.devdiv.com/data/attachment/album/201305/16/112909rubruzqucwuwhmrs.png)
我们打开终端,输入以下命令:
[代码]c#/cpp/oc代码:
1 | sudo malloc_history 50127 0x6d564f0 |
结果显示为:
![技术分享](http://www.devdiv.com/data/attachment/album/201305/16/113215qql36pq4b1s94r66.png)
原文:http://www.cnblogs.com/Rinpe/p/5341465.html
内容总结
以上是互联网集市为您收集整理的iOS 开发之EXC_BAD_ACCESS异常分析全部内容,希望文章能够帮你解决iOS 开发之EXC_BAD_ACCESS异常分析所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。