2012-12-02 3 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

예외에 브레이크 포인트를 설정하면 오류가 발생하는 행이 표시됩니다 ( – Shmidt

+0

). 술어가 어쩌면 속성 값으로 바뀌는 지 알 수 있습니다. – kitschmaster

답변

6

: objc_exception_throw에 상징적 중단 점을 설정하고 executeFetchRequest 중 하나가 오류를 트리거 확인할 않습니다. executeFetchRequest이있는 행에서 술어를 정의하는 위치까지 스크롤하십시오.

RHS은 오른손 쪽을 뜻합니다. 가정 당신과 함께 술어를 설정 :

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

다음 RHSvalue 될 것입니다. valuenil이 아닌지 확인하십시오.

+0

RHS 의미에 대한 설명은 +1과 +1! – Rpranata

0

내가 발견 한 것은 종료시 즉시 주 컨텍스트를 저장하는 것이 었습니다. 나가 출구에 maincontext를 제외하면 그래서, 나는이 괴괴 망측 한 보는 충돌을 얻지 않는다.