2009-12-21 56 views
3

我第二次執行如何調試核心數據崩潰的讀取請求

[[MOC executeFetchRequest:request error:&error] lastObject]; 

後話說

NSFetchRequest *request = [[NSFetchRequest alloc] init]; 
[request setEntity:[NSEntityDescription entityForName:@"Login" inManagedObjectContext:MOC]]; 
NSError *error = nil; 

其與EXC_BAD_ACCESS崩潰。包括調試窗口,它看起來像崩潰發生在覈心數據堆棧內部。有關如何進行調試以瞭解發生了什麼的任何想法?

alt text http://i46.tinypic.com/zmavph.jpg

(以防萬一,這裏的鏈接到圖片http://tinypic.com/r/zmavph/6點擊鏈接中的圖片和調試窗口將獲得更大)

乾杯

回答

3

EXC_BAD_ACCESS是內存錯誤。您在釋放它之後使用了一個對象。沒有(更多)代碼就很難調試。

您是否嘗試過運行分析器(Xcode> Build> Build and Analyze)?

你也可以打出來的提取和數組查找:

NSArray *fetchedObjects = [MOC executeFetchRequest:request error:&error] 
if (!fetchedObjects) { 
    NSLog(@"Error fetching Login: %@", [error localizedDescription]); 
    abort(); 
} 

NSManagedObject *loginObject = [fetchedObjects lastObject]; 
+1

正如gerry3所建議的,這不是一個核心數據問題,而是一個簡單的過度釋放對象。嘗試打開NSZombie並追蹤過度釋放的對象。 – 2010-01-02 16:17:53

1

蘋果擁有上CoreData調試非常有用page

+1

以上鍊接已損壞,請嘗試以下代碼:https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreData/TroubleshootingCoreData.html – Glavid 2017-05-09 20:18:07