EXC_BAD_ACCESS错误

EXC_BAD_ACCESS错误

一直都是使用ARC开发,咋就莫名其妙的出现这种EXC_BAD_ACCESS错误.

一直都是是怀疑在block中有着特殊处理,导致了使用时出现了这种错误,查找了好久......

最后,无意间看到了我是如何设置这个属性的,顿时有种要哭得感觉.

命名记得设置的时候是strong,咋就变成了assign了呢......

原来,这个EXC_BAD_ACCESS是野指针的意思.

 

注:ARC中,assign是__unsafe_unretain的意思.

 

 

时间: 2024-10-24 17:43:32

EXC_BAD_ACCESS错误的相关文章

iOS内存错误EXC_BAD_ACCESS的解决方法_IOS

iOS开发,最郁闷的莫过于程序毫无征兆地就崩溃了,用bt命令打出调用栈,给出的是一堆系统EXC_BAD_ACCESS的信息,根本没办法定位问题出现在哪里. 首先说一下 EXC_BAD_ACCESS 这个错误,可以这么说,90%的错误来源在于对一个已经释放的对象进行release操作.举一个简单的例子来说明吧,首先看一段Java代码: 复制代码 代码如下: public class Test{ public static void main(String[] args){ String s = "

xcode-应用崩溃:EXC_BAD_ACCESS

问题描述 应用崩溃:EXC_BAD_ACCESS 在头文件中设置NSString *oldChat如下: @interface CTFChatViewController : UIViewController { NSString *oldChat; } - (void)updateChat; @property (nonatomic, retain) NSString *oldChat; @end 然后使用: - (void)updateChat { NSString *chat = [NSS

iOS内存错误EXC

iOS开发,最郁闷的莫过于程序毫无征兆地就崩溃了,用bt命令打出调用栈,给出的是一堆系统EXC_BAD_ACCESS的信息,根本没办法定位问题出现在哪里. 首先说一下 EXC_BAD_ACCESS 这个错误,可以这么说,90%的错误来源在于对一个已经释放的对象进行release操作.举一个简单的例子来说明吧,首先看一段Java代码: public class Test{ public static void main(String[] args){ String s = "This is a t

Thread 1:EXC_BAD_INSTRUCTION

问题描述 Thread 1:EXC_BAD_INSTRUCTION 运行到这里就报错,不知道是什么原因,请大神帮助! 解决方案 Thread 1: EXC_BAD_ACCESScocos2d-x thread 1: EXC_BADACCESSThread1:EXC_BAD_ACCESS错误 解决方案二: 你这是创建iOS App,最好用xcode自带的模板来建立工程,它会帮你自动生成相关初始化代码等.

iOS/OS X 内存管理(二):借助工具解决内存问题

上一篇博客iOS/OS X内存管理(一):基本概念与原理主要讲了iOS/OSX 内存管理中引用计数和内存管理规则,以及引入ARC新的内存管理机制之后如何选择ownership qualifiers(__strong.__weak.__unsafe_unretained和__autoreleasing)来管理内存.这篇我们主要关注在实际开发中会遇到哪些内存管理问题,以及如何使用工具来调试和解决. 在往下看之前请下载实例MemoryProblems,我们将以这个工程展开如何检查和解决内存问题. 悬挂

内存管理

虽然iOS 5.0版本之后加入了ARC机制,但由于相互引用关系比较复杂时,内存泄露还是可能存在.所以了解原理很重要. 这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露,以及NSZombieEnabled设置的使用. 本文假设你已经比较熟悉Obj-C的内存管理机制. 实验的开发环境:XCode 4.5.2 1.运行Demo. 先下载一个实现准备好的内存泄露的Demo吧:leak app 下载下来,打开运行,程序是一个寿司的列表,列出各种寿司卷.试着选择里面的几行,

Instruments指南:如何调试内存泄露

Instruments指南:如何调试内存泄露 开篇 现在,你应该使用的ARC,而不是原来我们使用的MRC或者其他.但是我们在使用ARC的时候也会出现内存泄露的情况. 幸运的是,苹果为我们提供了Instruments,他可以用来检测你的应用程序的内存泄露.可能刚学习iOS开发的开发者被这个工具给吓到了,里面有太多东西了.其实他们是非常了不起的,而且也非常容易使用. 在这篇文章里,你将会通过使用XCode和Instruments来调试和发现内存相关的问题(例如内存泄露). 开始使用 我们这篇文章的目

Xcode的控制台调试命令

转载自:  http://blog.csdn.net/likendsl/article/details/7576549 XCode4.0以后,编译器换成了LLVM 编译器 2.0 与以前相比,更加强大: 1.LLVM 编译器是下一带开源的编译技术.完全支持C, Objective-C, 和 C++. 2.LLVM 速度比 GCC快两倍,建立的程序也会运行的更快. 因为它更好的利用现代的芯片的结构. 3.LLVM和Xcode 4完全的整合在一起.包括关键字高亮,代码完整性等全都是由LLVM语法分析

小白接触xcode,出现Thread1:EXC_BAD_ACCESS(code=1,address=0x68)

问题描述 小白接触xcode,出现Thread1:EXC_BAD_ACCESS(code=1,address=0x68) #import int main(int argc, const char * argv[]) { FILE *wordFile=fopen("/tmp/words.txt","r"); char word[100]; while(fgets(word,100,wordFile)) { word[strlen(word)-1]=''; NSLog