关于ios开发中遇到thread 1:exc_bad_access(code=1,address=0x50000010)类似的问题

最近开始做公司的ios项目,由于是初学刚开始一个多月,经常会碰到app突然crash掉的现象,当出现thread 1:exc_bad_access(code=1,address=0x50000010)的提示时,这种错误通常是内存管理的问题,一般是访问了已经释放的对象导致的,可以开启僵尸对象(Zombie Objects)来定位问题,具体步骤为:

在Xcode的菜单:Product->Scheme->Edit Scheme->

选中Enable Zombie Objects

关于ios开发中遇到thread 1:exc_bad_access(code=1,address=0x50000010)类似的问题_第1张图片

启该选项后,程序在运行时,如果访问了已经释放的对象,则会给出较准确的定位信息,可以帮助确定问题所在,如我所遇到的:

BiaoChengOA[791:60b] *** -[__NSArrayM release]: message sent to deallocated instance 0x10250c10

而我此次遇到的问题是一个 非常低级的错误(如下的代码段):

 NSMutableArray *tempArray = [[[NSMutableArray alloc] init] autorelease];

    

    for (int i=0;i<20; i++) {

        [tempArray addObject:@"test:"];

    }

    

    self.dataArray = [tempArray copy];

    [tempArray release];


将autorelease去掉,问题解决。

记得在问题被修复后,关闭该功能

你可能感兴趣的:(IOS--综合,app,ios,access,thread)