2013-12-16 4 views
2

이 충돌을 해결하는 데 도움을 줄 수 있습니까? 앱이 종료 될 때 발생하지만 항상 그렇지는 않습니다.응용 프로그램 종료시 종료

Application Specific Information: 
objc_msgSend() selector name: respondsToSelector: 
Performing @selector(terminate:) from sender NSMenuItem 0x34cfd0 

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 
0 libobjc.A.dylib     0x979414cc objc_msgSend + 44 
1 com.apple.MyApp     0x00026d9f -[MyAppController applicationShouldTerminate:] + 398 
2 com.apple.AppKit    0x91086dc2 -[NSApplication _docController:shouldTerminate:] + 83 
3 com.apple.AppKit    0x91086cb4 __91-[NSDocumentController(NSInternal) _closeAllDocumentsWithDelegate:shouldTerminateSelector:]_block_invoke + 140 
4 com.apple.AppKit    0x910869c0 -[NSDocumentController(NSInternal) _closeAllDocumentsWithDelegate:shouldTerminateSelector:] + 1304 
5 com.apple.AppKit    0x9108646b -[NSDocumentController(NSInternal) __closeAllDocumentsWithDelegate:shouldTerminateSelector:] + 266 
6 com.apple.AppKit    0x91086103 -[NSApplication _shouldTerminate] + 760 
7 com.apple.AppKit    0x90f88008 -[NSApplication terminate:] + 1139 
8 libobjc.A.dylib     0x97957283 -[NSObject performSelector:withObject:] + 70 
9 com.apple.AppKit    0x90f2fd75 -[NSApplication sendAction:to:from:] + 438 
10 com.apple.AppKit    0x90f4c315 -[NSMenuItem _corePerformAction] + 486 
11 com.apple.AppKit    0x90f4c01a -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] + 163 
12 com.apple.AppKit    0x90f4b6c9 -[NSMenu _performActionWithHighlightingForItemAtIndex:sendAccessibilityNotification:] + 79 
13 com.apple.AppKit    0x90f4b675 -[NSMenu _performActionWithHighlightingForItemAtIndex:] + 48 
14 com.apple.AppKit    0x90f4b022 -[NSMenu performKeyEquivalent:] + 294 
15 com.apple.AppKit    0x90f47735 -[NSApplication _handleKeyEquivalent:] + 938 
16 com.apple.AppKit    0x90eb0cbe -[NSApplication sendEvent:] + 3911 
17 com.apple.AppKit    0x90cf56cc -[NSApplication run] + 823 
18 com.apple.AppKit    0x90cde558 NSApplicationMain + 1165 
19 com.apple.MyApp     0x00111c9a main + 728 
20 com.apple.MyApp     0x00002401 start + 53 

때때로 종료 될 때 충돌이 발생했을 때 다음과 같은 오류 로그가 표시됩니다.이 오류는 항상 그렇지 않습니다. 물론 보는

objc_msgSend() selector name: respondsToSelector: 
objc[33814]: garbage collection is OFF 

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 
0 libobjc.A.dylib     0x99546d47 objc_msgSend + 23 
1 com.apple.MyApp     0x0001c574 -[MyAppController applicationShouldTerminate:] + 390 
2 com.apple.AppKit    0x915f6701 -[NSApplication _docController:shouldTerminate:] + 83 
3 com.apple.AppKit    0x917240ff __-[NSDocumentController(NSInternal) _closeAllDocumentsWithDelegate:shouldTerminateSelector:]_block_invoke_1 + 228 
4 com.apple.AppKit    0x91730f86 -[NSDocumentController(NSInternal) _closeAllDocumentsWithDelegate:shouldTerminateSelector:] + 1693 
5 com.apple.AppKit    0x91729ec6 -[NSDocumentController(NSInternal) __closeAllDocumentsWithDelegate:shouldTerminateSelector:] + 310 
6 com.apple.AppKit    0x915fdb15 -[NSApplication _shouldTerminate] + 889 
7 com.apple.AppKit    0x91334332 -[NSApplication terminate:] + 1219 
8 com.apple.CoreFoundation  0x90c1dd11 -[NSObject performSelector:withObject:] + 65 
9 com.apple.AppKit    0x914371ff -[NSApplication sendAction:to:from:] + 232 
10 com.apple.AppKit    0x9152ad8b -[NSMenuItem _corePerformAction] + 536 
11 com.apple.AppKit    0x9152aa08 -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] + 171 
12 com.apple.AppKit    0x9152a091 -[NSMenu _performActionWithHighlightingForItemAtIndex:sendAccessibilityNotification:] + 79 
13 com.apple.AppKit    0x9152a03d -[NSMenu _performActionWithHighlightingForItemAtIndex:] + 48 
14 com.apple.AppKit    0x914a3923 -[NSMenu performKeyEquivalent:] + 306 
15 com.apple.AppKit    0x914a2392 -[NSApplication _handleKeyEquivalent:] + 594 
16 com.apple.AppKit    0x91397cef -[NSApplication sendEvent:] + 5772 
17 com.apple.AppKit    0x91329459 -[NSApplication run] + 1007 
18 com.apple.AppKit    0x915babf1 NSApplicationMain + 1054 
19 com.apple.MyApp     0x0010094b main + 216 
20 com.apple.MyApp     0x0000264d start + 53 
+0

'terminate :'메소드를 구현 한 코드를 보여주십시오. –

+0

@Virussmca : 그는 ** 항상 그렇지는 않다 **, 구현되지 않는다면 항상 !!! –

+0

@AnoopVaidya : ** 가끔 ** **이 문제를보고 있습니까? 나는 아직 보지 못했다. –

답변

0

첫 번째 장소는 당신이 구현 한 가정, 당신의 -[MyAppController applicationShouldTerminate:]입니다. 당신은 아마도 이미 공개 된 객체를 언급하고있을 것입니다. (이 ARC입니까? 이런 종류의 오류의 가장 일반적인 원인은 ARC를 사용하지 않는 것입니다.)

applicationShouldTerminate:을 구현하지 않은 경우 당신은 애플 리케이션 델리게이트 자체를 과도하게 발표했다. NSZombies을 통해 진단 할 수 있습니다.

+0

앱 대리인이 출시 된 곳이 표시되지 않습니다. –