日期:2014-05-16  浏览次数:20987 次

EXE_BAD_ACCESS异常相关

From:?http://iliunian.diandian.com/post/2012-01-05/19662830

?

初学iOS开发的菜鸟都会遇到过这个EXE_BAD_ACCESS异常,我是每次都会遇到,不胜其烦啊,但是没办法,自己是新手,也只能不断的积累 开发Object-C的经验,不断深入了解内存管理机制。都说这个EXE_BAD_ACCESS异常一般和内存管理有关系,下面我们看看别人是如何理解和 解决这个问题的。


有时写程序不知觉总会遇到EXE_BAD_ACCESS的异常,经过测试发现这个通常跟内存管理有关,通常是过度释放内存引起,此时检查程序中有关release部分。


比如定义了一个nsarray对象,但没有显示的初始化(没有初始化或者用其他对象初始化),如果这时释放它就会报这个错误。


这里也有大虾的文章说明


http://developer.apple.com/qa/qa2004/qa1367.html


http://stackoverflow.com/questions/327082/excbadaccess-signal-received-on-iphone-app-deployment-to-device


??? 也有时会出现EXE_BAD_INSTRUCTION的异常,这种情况通常是对象的访问引起。


例如定义一个nsarray其中有3个对象(nsarray对象的容量为3),如果此时访问nsarray中的第4个对象就会出这个错误。


同时检测nib文件中控制与类中输出口关联出问题,例如view没有关联,控件关联了不存在的出口或方法也会出这个错误。


另外,这里有iphone相关的学习资料


http://topic.csdn.net/s/iphone/0.html


http://forum.csdn.net/SList/iphone/


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/suoxd123/archive/2010/04/18/5499471.aspx