xamarin - mono-rt:非托管堆栈溢出:IP:xxx,错误地址:yyy

时间:2014-07-22 06:00:50

标签: xamarin.ios xamarin

我的(xamarin.iOS)应用程序在一段时间后总是崩溃并出现以下错误

消息:

  

mono-rt:非托管堆栈溢出:IP:0x29c2cc,错误地址:   0xb0aedf4c

     

mono-rt:非托管堆栈溢出:IP:0x29c2cc,错误地址:   0xb0aecdcc

     

请求的操作导致堆栈溢出。

堆栈追踪:

at (wrapper managed-to-native) object:__icall_wrapper_mono_array_new_specific (intptr,int)
at System.Threading.Tasks.Task.HandleGenericException (System.Exception e) [0x00000] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Threading.Tasks/Task.cs:640 
at System.Threading.Tasks.Task.ThreadStart () [0x00123] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Threading.Tasks/Task.cs:445 
at System.Threading.Tasks.Task.Execute () [0x00000] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Threading.Tasks/Task.cs:514 
at System.Threading.Tasks.TpScheduler.TaskExecuterCallback (System.Object obj) [0x00007] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Threading.Tasks/TpScheduler.cs:59 

原生

mono-rt:    0   RTouchIpad                     0x001492d7 mono_handle_native_sigsegv + 327

mono-rt:    1   RTouchIpad                     0x00153bfa sigabrt_signal_handler + 122

mono-rt:    2   libsystem_platform.dylib            0x056fbdeb _sigtramp + 43

mono-rt:    3   ???                                 0xffffffff 0x0 + 4294967295

mono-rt:    4   libsystem_sim_c.dylib               0x05414e12 abort + 127

mono-rt:    5   RTouchIpad                     0x002b8f33 monotouch_unhandled_exception_handler + 291

mono-rt:    6   RTouchIpad                     0x00149afb mono_invoke_unhandled_exception_hook + 91

mono-rt:    7   RTouchIpad                     0x00148b2c mono_handle_exception_internal + 6620

mono-rt:    8   RTouchIpad                     0x00147149 mono_handle_exception + 41

mono-rt:    9   RTouchIpad                     0x000e30b9 mono_x86_throw_exception + 137

mono-rt:    10  ???                                 0x0fbbde57 0x0 + 263970391

mono-rt:    11  RTouchIpad                     0x00148eb9 mono_altstack_restore_prot + 9

mono-rt:    12  ???                                 0x0fbbd83c 0x0 + 263968828

mono-rt:    13  ???                                 0x148185b0 0x0 + 344032688

mono-rt:    14  ???                                 0x13fcbcd0 0x0 + 335330512

mono-rt:    15  ???                                 0x13fcb558 0x0 + 335328600

mono-rt:    16  ???                                 0x13fcb4fc 0x0 + 335328508

mono-rt:    17  ???                                 0x0ff64827 0x0 + 267798567

mono-rt:    18  RTouchIpad                     0x001797db mono_jit_runtime_invoke + 843

mono-rt:    19  RTouchIpad                     0x002102ff mono_runtime_invoke + 127

mono-rt:    20  RTouchIpad                     0x002153ec mono_runtime_delegate_invoke + 92

mono-rt:    21  RTouchIpad                     0x002450ee async_invoke_thread + 2446

mono-rt:    22  RTouchIpad                     0x00250028 start_wrapper + 376

mono-rt:    23  RTouchIpad                     0x00285aa0 inner_start_thread + 240

mono-rt:    24  RTouchIpad                     0x0029ed5d GC_start_routine + 93

mono-rt:    25  libsystem_pthread.dylib             0x057ea5fb _pthread_body + 144

mono-rt:    26  libsystem_pthread.dylib             0x057ea485 _pthread_struct_init + 0

mono-rt:    27  libsystem_pthread.dylib             0x057efcf2 thread_start + 34

mono-rt: 
=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

知道如何最好地解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

此类崩溃通常是由应用程序内部的内存损坏引起的。除非有(符号化的)崩溃报告(包括每个线程),否则这不容易诊断。

您可以尝试在Instruments下运行您的应用程序,可能查明异常情况。

您还可以提交bug report并包含可重现的测试用例(或者至少包含符号化的崩溃报告)。