我们已经将TestFlight和TestFlight SDK与MonoTouch连接起来,目前运行良好。
我们注意到一个问题是崩溃报告更适用于Obj-C应用程序。
上传压缩的dSYM文件后,它们看起来像这样:
0 OurApp 0x007a7116 testflight_backtrace + 170
1 OurApp0x007a7c3c TFSignalHandler + 208
2 libsystem_c.dylib 0x34f68538 _sigtramp + 48
3 libsystem_c.dylib 0x34f5df5a pthread_kill + 54
4 libsystem_c.dylib 0x34f56fea abort + 94
5 OurApp 0x007793b3 monoeg_g_logv (goutput.c:137)
6 OurApp 0x0077941f monoeg_g_log (goutput.c:147)
7 OurApp 0x005f1393 get_numerous_trampoline (aot-runtime.c:3447)
8 OurApp 0x005f1b2f mono_aot_get_imt_thunk (aot-runtime.c:3576)
9 OurApp 0x006e2c83 initialize_imt_slot (object.c:1247)
10 OurApp 0x006e321f build_imt_slots (object.c:1371)
11 OurApp 0x006e356f mono_vtable_build_imt_slot (object.c:1439)
12 OurApp 0x005fcf83 mono_convert_imt_slot_to_vtable_slot (mini-trampolines.c:198)
13 OurApp 0x005fd50f common_call_trampoline (mini-trampolines.c:333)
14 OurApp 0x005fe573 mono_vcall_trampoline (mini-trampolines.c:644)
15 OurApp 0x0056a68f generic_trampoline_vcall (mscorlib.dll.6.s:194345)
16 OurApp 0x00416b4f System_Collections_Generic_List_1__ctor_System_Collections_Generic_IEnumerable_1_T (mscorlib.dll.6.s:32014)
17 OurApp 0x0026955b System_Linq_Enumerable_ToList_TSource_System_Collections_Generic_IEnumerable_1_TSource (System.Core.dll.6.s:1917)
所以您可以告诉C#函数在哪里发生了崩溃。(注意:这次崩溃是 MonoTouch 5.0.1 中的一个错误,其中 Linq 泛型被搞乱了,似乎在 5.0.2 中已经修复)
如果能够获取完整的 C# 堆栈跟踪将非常好,您对如何实现有什么想法吗?我可以钩入 AppDomain.UnhandledException
并在我的 static void Main
方法中加入 try-catch,但想知道是否有一种方法将堆栈跟踪报告给 TestFlight。
EngineExecutionException
异常。这个问题已经在5.0.2版本中修复。 - poupou