2012-09-26 4 views
1

여기 내 충돌 보고서가 있으며 이는 iOS 버전 및 장치와 관계 없습니다. 또한 나는 SIGSEGV_ACCERR이 메모리와 관련이 있는지 알고 싶다. 이 문제를 해결하도록 도와주세요. 나는 아래로 충돌 보고서의 무리가 SIGSEGV의 매우 빠른 구글이 (신호가 세그먼트 위반을 의미)가 정확히 무엇을 말할 것이다iOS 응용 프로그램 충돌 보고서에서 SIGSEGV 예외가 많이 발생하고 있습니다. UINavigationController에서도 충돌이 발생합니다.

Date/Time:  2012-09-25 23:55:33 +0000 
OS Version:  iPhone OS 5.1.1 (9B206) 
Report Version: 104 

Exception Type: SIGSEGV 
Exception Codes: SEGV_ACCERR at 0x60000008 
Crashed Thread: 0 

Thread 0 Crashed: 
0 libobjc.A.dylib      0x37734f78 objc_msgSend + 16 
1 UIKit        0x32e0c503 -[UINavigationController _startDeferredTransitionIfNeeded] + 251 
2 UIKit        0x32e568eb _popViewControllerNormal + 191 
3 UIKit        0x32e56719 -[UINavigationController _popViewControllerWithTransition:allowPoppingLast:] + 393 
4 UIKit        0x32e56c79 -[UINavigationController navigationBar:shouldPopItem:] + 153 
5 UIKit        0x32e56a8f -[UINavigationBar _popNavigationItemWithTransition:] + 99 
6 UIKit        0x32ea6247 -[UINavigationBar popNavigationItemAnimated:] + 123 
7 UIKit        0x32ea60d5 -[UINavigationBar _handleMouseUpAtPoint:] + 925 
8 UIKit        0x32ea5d33 -[UINavigationBar touchesEnded:withEvent:] + 83 
9 UIKit        0x32de192b -[UIWindow _sendTouchesForEvent:] + 319 
10 UIKit        0x32de1319 -[UIWindow sendEvent:] + 381 
11 UIKit        0x32dc7695 -[UIApplication sendEvent:] + 357 
12 UIKit        0x32dc6f3b _UIApplicationHandleEvent + 5827 
13 GraphicsServices     0x36f8622b PurpleEventCallback + 883 
14 CoreFoundation      0x35367523 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 39 
15 CoreFoundation      0x353674c5 __CFRunLoopDoSource1 + 141 
16 CoreFoundation      0x35366313 __CFRunLoopRun + 1371 
17 CoreFoundation      0x352e94a5 CFRunLoopRunSpecific + 301 
18 CoreFoundation      0x352e936d CFRunLoopRunInMode + 105 
19 GraphicsServices     0x36f85439 GSEventRunModal + 137 
20 UIKit        0x32df5cd5 UIApplicationMain + 1081 
21 Myapp        0x00003597 main (main.m:20) 
+0

코드에서 수행하려는 작업과 응용 프로그램에서 충돌을 일으키는 작업은 무엇입니까? 방금 시작 했나요? 복잡한 대형 앱입니까? 언제 마지막으로 작동 했습니까? 그 이후로 무엇을 바꿨습니까? – hol

답변

12

로그인합니다. 그 링크는 또한 그것이 일어나는 이유를 가르쳐 줄 것입니다.

스택 추적에서 메인 루프가 탐색 모음에서 터치를 처리하고있는 것을 볼 수 있습니다.이 결과는 pop이됩니다. 보기 컨트롤러가 표시되는 동안 잘못된 메모리 액세스로 인해 응용 프로그램이 중단됩니다.

액세스하려고 시도한 주소도 알려줍니다 (충돌로 이어짐) : 0x60000008 주소가 조금 깔끔하게 보이지 않습니까?

그래서 먼저 디버거에서 다시 만들려고합니다. 나는 또한 어느 쪽이 충돌을 일으키는 지 알 수 있도록 푸시/팝되는 뷰 컨트롤러에 몇 가지 로깅을 추가 할 것입니다.

네비게이션 컨트롤러에서 "뒤로"버튼 중 하나를 눌러 직접적인 결과라고 생각할 수 있습니다.

그렇기 때문에 탐색 컨트롤러에 밀어 넣어 놓은 컨트롤러를 설정하는 방법과 탐색 표시 줄을 사용하는 방법을 조사하는 방법도 고려해야합니다 (팝업이 터지면 충돌이 발생하기 때문입니다).

코어 라이브러리에서 크래시가 발생하는 것처럼 보이므로 스택 추적에 코드가 호출되지 않는 것처럼 컨트롤러의 설정에 있어야합니다.

관련 문제