2011-09-19 6 views
2

여기 CrashReporter 정보입니다 :응용 프로그램 충돌

Thread 0 name: Dispatch queue: com.apple.main-thread 
Thread 0: 
0 libsystem_kernel.dylib   0x347c2848 __kill + 8 
1 [My Application]    0x0002ec44 fatal_signal_handler (PLCrashSignalHandler.m:98) 
2 libsystem_c.dylib    0x37518522 _sigtramp + 42 
3 [My Application]    0x0003040a uncaught_exception_handler (PLCrashReporter.m:136) 
4 CoreFoundation     0x37663984 __handleUncaughtException + 68 
5 libobjc.A.dylib     0x334082ca _objc_terminate + 122 
6 libc++abi.dylib     0x37f473be safe_handler_caller(void (*)()) + 70 
7 libc++abi.dylib     0x37f4744a std::terminate() + 14 
8 libc++abi.dylib     0x37f4881e __cxa_rethrow + 82 
9 libobjc.A.dylib     0x3340822e objc_exception_rethrow + 6 
10 CoreFoundation     0x375b9556 CFRunLoopRunSpecific + 398 
11 CoreFoundation     0x375b93b6 CFRunLoopRunInMode + 98 
12 UIKit       0x3354dda4 -[UIApplication _run] + 544 
13 UIKit       0x3354b05a UIApplicationMain + 1074 
14 [My Application]    0x00002a9a main (main.m:54) 
15 [My Application]    0x00002a58 0x1000 + 6744 

내가 응용 프로그램을 삭제 한 다음 잘 작동 처음부터 업데이트 된 버전을 다운로드하면 ... 이것은 발생

답변

3

은 Objective-C 예외가 던져지고, runloop에 걸리고, 다시 던져 지므로 백 트레이스가 손실됩니다.

PLCrashReporter/HockeyApp에서 변경하지 않고 디버깅하려면 NSSetUncaughtExceptionHandler()을 통해 자체 예외 처리기를 등록하고 제공된 스택 추적을 통해 로그에 기록하십시오 ([- NSException callStackReturnAddresses] 참조). 결과를 수동으로 기호화해야합니다.

이 버그 클래스에 대한 좀 더 일반적인 해결책으로 예외 보고서의 원본 백 추적을 충돌 보고서에 별도로 기록하는 PLCrashReporter 트렁크를 사용하여 원래 예외 백 트레이스를 가져올 수 있습니다.

그러나 HockeyApp 클라이언트는 여분의 스택 추적 기록을 지원하도록 최소한으로 수정해야합니다. PLCrashReporter에 포함 된 텍스트 포맷터를 예제로 사용할 수 있습니다. 추가 스택 추적 as an additional named pseudo-thread의 형식을 지정합니다.

관련 문제