EXC_BAD_ACCESS无处不在这种错误可以说是每次写代码都会遇到的,所以如果是你你会怎么解决呢,如果不知道那么请往下看EXC_BAD_ACCESS, objc_msgSend,此类报错往往来的莫明奇妙.原因往往是内存过度释放导致, 即多写了release;至于是哪里多写了release, 很难...
分类:
移动开发 时间:
2015-09-13 00:56:45
阅读次数:
251
设置环境变量:只在DEBUG版本设置,自己调试使用,设置这两个参数则内存是不会释放掉的。当出现message sent to deallocated instance EXC_BAD_ACCESS,会在xcode console打印出类似的日志:2015-09-09 12:00:54.073 Tri...
分类:
数据库 时间:
2015-09-11 19:14:52
阅读次数:
184
只考虑ARC环境:自己写的delegate,使用weak,不用assign。weak和assign的区别,当指向的对象被释放掉之后,weak指针会自动置为nil。而assign指针会指向一个无效的地址。在异步环境下,经常会遇到异步回调的时候调用delegate的回调方法,[self.delegate...
分类:
数据库 时间:
2015-09-11 19:02:22
阅读次数:
220
iOS开发中经常遇到这样的一个bug:exc_bad access code=exc_1386_gpflt。
这样bug通常情况下就是内存管理方面的问题。
一般是访问了已经释放的对象导致的,可以开启僵尸对象(Zombie Objects)来定位问题:
在Xcode的菜单:
Product->Scheme->Edit Scheme->Run xxx.app
右边的选项中,选中E...
分类:
数据库 时间:
2015-08-27 16:44:41
阅读次数:
251
我们做iOS程序开发时经常用遇到EXC_BAD_ACCESS错误导致Crash,出现这种错误时一般Xcode不会给我们太多的信息来定位错误来源,只是在应用Delegate上留下像Thread 1: Program received signal:"EXC_BAD_ACCESS",让问题无从找起。比如...
分类:
数据库 时间:
2015-08-03 12:47:03
阅读次数:
200
非ARC中,对于被autorelease的对象,Leak工具也会视其为泄露,自己知道没问题就行。今天遇到一个bug,App在XCode调试时没有问题,但在真机安装,退出,再进入时,会出现闪退。用XCode->Window->Devices可以查看设备的crash日志。EXC_BAD_ACCESS错误...
分类:
移动开发 时间:
2015-05-11 20:03:11
阅读次数:
137
1:ARC环境下,strong代替retain.weak代替assign
2:weak的作用:在ARC环境下,所有指向这个对象的weak指针都将被置为nil。这个T特性很有用,相信很多开发者都被指针指向已释放的对象所造成的EXC_BAD_ACCESS困扰过,使用ARC以后,不论是strong还是weak类型的指针,都不会再指向一个已经销毁的对象,从根本上解决了意外释放导致的crash。
3:a...
分类:
移动开发 时间:
2015-03-16 16:35:13
阅读次数:
174
定位了项目的一个问题,居然与strong有关系。首先说明一下项目是MRC内存管理的。一个NSDictionary变量在赋值一段时间后再次访问就会出现EXC_BAD_ACCESS错误,打印日志看了一下地址没变但是内容已经看不到,估计是...
分类:
其他好文 时间:
2015-03-07 11:42:24
阅读次数:
167
1、EXC_BAD_ACCESS内存错误与NSZombieEnabledEXC_BAD_ACCESS是最常见的错误了,这个一般是访问了释放了的内存地址空间造成的。比如一个对象已经dealloc了,如果你仍向这个对象发送消息,就会出现这个错误。由于出现这个错误时,几乎不显示什么有用的信息,我们根本.....
分类:
移动开发 时间:
2015-02-03 10:45:38
阅读次数:
174
内存管理初级为什么要管理内存 我们的iOS APP 出现Crash(闪退),90%以上的原因是内存问题。我们使用Xcode编译运行程序时常见到的一个EXC_BAD_ACCESS问题就是个典型的内存错误--访问了一块僵尸内存,当然这里不对僵尸内存进行深入讨论。那么内存问题主要体现在哪些方面呢,那就是....
分类:
其他好文 时间:
2015-01-22 12:28:43
阅读次数:
265