CoreData EXC_BAD_ACCESS,无法在地址访问内存KERN_PROTECTION_FAILURE:0x00000000

时间:2009-12-30 22:04:12

标签: iphone

我有一个使用CoreData和导航控制器的程序。如果我通过关系添加一个连接到我的主实体的实体,而不是返回到所有条目的表视图,并返回到最近编辑的相同条目,我的程序崩溃了。我的代码非常相似,而对于CoreData部分则相同,对于Apples示例代码iPhoneCoreDataRecipes。

第一次尝试使用“EXC_BAD_ACCESS”访问我刚刚更改的实体时代码会崩溃。

如果我在此之前暂停程序并尝试访问我的CoreData对象,我会在控制台中获得以下内容。

程序收到信号EXC_BAD_ACCESS,无法访问内存。 原因:KERN_INVALID_ADDRESS位于地址:0xec0470f2 objc_msgSend()中的0x937eeedb 正在调试的程序在从GDB调用的函数中发出信号。 GDB已将上下文恢复到调用之前的状态。 要更改此行为,请使用“set unwindonsignal off” 评估包含该函数的表达式(_NSPrintForDebugger)将被放弃。

 NSMutableArray *tempEventsArray = [[NSMutableArray alloc] initWithArray:[journalEntry.event allObjects]];
 self.eventsArray = tempEventsArray;
 [tempEventsArray release];

Apple的iPhoneCoreDataRecipes有同样的问题所以我会提交错误报告,但不知道我是否遗漏了一些东西。我的iPone开发目标3.1和基础SDK也是3.1。

1 个答案:

答案 0 :(得分:0)

eventsArray是如何声明的?根据您的使用情况,它应该是保留的属性。它只是分配,然后由于过度释放阵列而崩溃。