2012-12-02 53 views
3

我得到這個錯誤,我無法弄清楚,在哪裏發生。IOS靜態調試符號含義

這裏是堆棧跟蹤:

0 CoreFoundation 0x382952a3 __exceptionPreprocess + 163 
1 libobjc.A.dylib 0x3358d97f objc_exception_throw + 31 
2 CoreData 0x398fe0cf -[NSComparisonPredicate(_NSCoreDataSQLPredicateCategories) minimalFormInContext:] + 371 
3 CoreData 0x399097af -[NSCompoundPredicateOperator(_NSCoreDataSQLPredicateCategories) minimalFormInContext:ofPredicates:] + 727 
4 CoreData 0x398fd917 -[NSSQLGenerator initializeContextForFetchRequest:ignoreInheritance:nestingLevel:] + 539 
5 CoreData 0x398fd3b3 -[NSSQLGenerator newSQLStatementForFetchRequest:ignoreInheritance:countOnly:nestingLevel:] + 39 
6 CoreData 0x398fd2bd -[NSSQLAdapter _newSelectStatementWithFetchRequest:ignoreInheritance:] + 509 
7 CoreData 0x398fced5 -[NSSQLCore newRowsForFetchPlan:] + 117 
8 CoreData 0x398fc64f -[NSSQLCore objectsForFetchRequest:inContext:] + 683 
9 CoreData 0x398fc119 -[NSSQLCore executeRequest:withContext:error:] + 469 
10 CoreData 0x398fb531 -[NSPersistentStoreCoordinator executeRequest:withContext:error:] + 1645 
11 CoreData 0x398f9e2b -[NSManagedObjectContext executeFetchRequest:error:] + 647 
12 CoreData 0x3996293f -[NSManagedObjectContext(_NestedContextSupport) _parentObjectsForFetchRequest:inContext:error:] + 399 
13 CoreData 0x399630c9 __82-[NSManagedObjectContext(_NestedContextSupport) executeRequest:withContext:error:]_block_invoke_0 + 565 
14 libdispatch.dylib 0x36eb2621 _dispatch_barrier_sync_f_slow_invoke + 81 
15 libdispatch.dylib 0x36ea34b7 _dispatch_client_callout + 23 
16 libdispatch.dylib 0x36ea4dcb _dispatch_main_queue_callback_4CF$VARIANT$up + 227 
17 CoreFoundation 0x38268f3b __CFRunLoopRun + 1291 
18 CoreFoundation 0x381dbebd CFRunLoopRunSpecific + 357 
19 CoreFoundation 0x381dbd49 CFRunLoopRunInMode + 105 
20 GraphicsServices 0x36f532eb GSEventRunModal + 75 
21 UIKit 0x3a3882f9 UIApplicationMain + 1121 
22 Sticky Free 0x000ac67b _mh_execute_header + 13947 
23 Sticky Free 0x000ab1e0 _mh_execute_header + 8672 


And here is the main error. 
Invalid predicate: nil RHS 

我知道,從NSPredicate它而做了取。但是,我不完全確定,哪條線導致它。我正在使用多線程的coredata環境。

這個問題非常間歇,在10次左右會出現一次。任何幫助將不勝感激。

感謝

+0

這是一個非常奇怪的外觀框架:'22 Sticky Free 0x000ac67b _mh_execute_header + 13947'。你如何看待崩潰(或從哪裏獲得)? –

+0

在Exceptions上設置斷點,比你會看到哪一行會導致錯誤 – Shmidt

+0

以及謂詞如何看起來,也許屬性值使它變成bahooka ... – kitschmaster

回答

6

正如其他人說:不要設置objc_exception_throw一個象徵性的斷點,看看哪些你executeFetchRequest之一將引發錯誤。 從executeFetchRequest的行中滾動到您定義謂詞的位置。

RHS往往代表右手邊。假設你正在建立謂詞:

[NSPredicate predicateWithFormat:@"%K = %@", attribute, value];

然後RHSvalue。確保value不是nil

+0

Spot on和+1對於RHS的解釋是什麼意思! – Rpranata

0

我發現的是,我在退出時立即保存了主要內容。所以,如果我不保存退出的maincontext,我不會得到這個奇怪的看崩潰。