2011-09-19 1 views
2

Voici les informations CrashReporter:plante App lors du lancement de la mise à jour après application via HockeyApp

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 

Si je supprime l'application et télécharger la version mise à jour à partir de zéro, il fonctionne très bien ...

Répondre

3

Cela est dû par une exception Objective-C lancée, capturée par le runloop et relancée, entraînant la perte de la trace. Pour déboguer cela sans modifications dans PLCrashReporter/HockeyApp, vous pouvez enregistrer votre propre gestionnaire d'exceptions via NSSetUncaughtExceptionHandler() et enregistrer la trace de pile fournie via (voir [- NSException callStackReturnAddresses]). Vous devrez symboliser les résultats manuellement. En tant que solution plus générale pour cette classe de bogue, vous pouvez obtenir le backtrace d'exception original en utilisant le tronc PLCrashReporter, qui enregistrera le backtrace original des exceptions séparément dans le rapport de crash. Cependant, le client HockeyApp doit être modifié au minimum pour prendre en charge l'enregistrement de la trace de pile supplémentaire. Le formateur de texte inclus avec PLCrashReporter peut être utilisé comme exemple - il va formater cette trace de pile supplémentaire as an additional named pseudo-thread.

Questions connexes