2

monotouch で作成したアプリケーションがあり、ユーザー アプリケーションの 1 つ (1 つだけ) がクラッシュします。クラッシュダンプでシンボリック化を行いました。私のコードのいずれかを指しているものがダンプに表示されません。

     Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib           0x3a26f350 __pthread_kill + 8
1   libsystem_c.dylib                   0x3a1e611e pthread_kill + 54
2   libsystem_c.dylib                   0x3a22296e abort + 90
3   MyApp                           0x00d8085c mono_handle_native_sigsegv (mini-exceptions.c:2325)
4   MyApp                           0x00db2f10 sigabrt_signal_handler (mini-posix.c:196)
5   libsystem_c.dylib                   0x3a1efe90 _sigtramp + 40
6   libsystem_c.dylib                   0x3a1e611e pthread_kill + 54
7   libsystem_c.dylib                   0x3a22296e abort + 90
8   MyApp                           0x00e07df0 monotouch_unhandled_exception_handler (monotouch-glue.m:1440)
9   MyApp                           0x00d7e0ee mono_invoke_unhandled_exception_hook (mini-exceptions.c:2561)
10  MyApp                          0x00d38c36 mono_thread_abort (mini.c:2629)
11  MyApp                          0x00d803ec mono_handle_exception_internal + 2136
12  MyApp                          0x00d804b8 mono_handle_exception (mini-exceptions.c:1902)
13  MyApp                          0x00db1b84 handle_signal_exception (exceptions-arm.c:559)
14  MyApp                          0x00139e20 MonoTouch_UIKit_UIControlEventProxy_Activated + 64
15  MyApp                          0x006a3e94 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 196
16  MyApp                          0x00d3b1d4 mono_jit_runtime_invoke (mini.c:5793)
17  MyApp                          0x00da8da4 mono_runtime_invoke (object.c:2790)
18  MyApp                          0x00ca90e6 native_to_managed_trampoline_MonoTouch_UIKit_UIControlEventProxy_Activated (<stdin>:97)
19  UIKit                                  0x33df00c0 -[UIApplication sendAction:to:from:forEvent:] + 68
20  UIKit                                  0x33df0072 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 26
21  UIKit                                  0x33df0050 -[UIControl sendAction:to:forEvent:] + 40
22  UIKit                                  0x33def906 -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 498
23  UIKit                                  0x33defdfc -[UIControl touchesEnded:withEvent:] + 484
24  UIKit                                  0x33d0e41c _UIGestureRecognizerUpdate + 5764
25  CoreFoundation                    0x31ed26ca __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 18
26  CoreFoundation                    0x31ed09bc __CFRunLoopDoObservers + 272
27  CoreFoundation                    0x31ed0d12 __CFRunLoopRun + 738
28  CoreFoundation                    0x31e43eb8 CFRunLoopRunSpecific + 352
29  CoreFoundation                    0x31e43d44 CFRunLoopRunInMode + 100
30  GraphicsServices                  0x359fa2e6 GSEventRunModal + 70
31  UIKit                                  0x33d592fc UIApplicationMain + 1116
32  MyApp                          0x00179168 wrapper_managed_to_native_MonoTouch_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 236
33  MyApp                          0x003cd10c MyApp_Application_Main_string__ + 44
34  MyApp                          0x006a3e94 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 196
35  MyApp                          0x00d3b1d4 mono_jit_runtime_invoke (mini.c:5793)
36  MyApp                          0x00da8da4 mono_runtime_invoke (object.c:2790)
37  MyApp                          0x00dabb0a mono_runtime_exec_main (object.c:3972)
38  MyApp                          0x00daf42e mono_runtime_run_main (object.c:3602)
39  MyApp                          0x00d527b6 mono_jit_exec (driver.c:1125)
40  MyApp                          0x00dfaaac main (main.m:482)
41  MyApp                          0x000430d8 start + 36

ここから何をすべきかについての提案はありますか?

クリスチャンに感謝

4

1 に答える 1

1

iOSクラッシュ ログが説明的でない場合もあります。

iOSクラッシュ報告システムに代わるものを作ってみてください:

  • ユーザー アクションをメモリに記録します。
  • UnhandledExceptionイベントを申し込む:
        // In AppDelegate.FinishedLaunching
        AppDomain.CurrentDomain.UnhandledException += (object sender, UnhandledExceptionEventArgs e) => {
            LogTool.SaveLog(e);
        };
  • ユーザーが次にアプリを実行するときに、ログが空でないことを確認します。その場合は、クラッシュ ログをメールで送信するようユーザーに提案してください (MFMailComposeViewControllerクラスの使用例を参照してください)。

したがって、問題を解決するために必要な正確な情報が得られます。

于 2013-07-08T09:24:52.050 に答える