2

我有一个用 monotouch 编写的应用程序,我的一个(只有一个)用户应用程序崩溃了。我在故障转储上做了一个象征性的。我在转储中看不到任何指向我的任何代码的东西:

     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 回答