RestSharp / MonoTouch仅在设备上出错

时间:2013-01-03 02:54:49

标签: ios xamarin.ios restsharp

我遇到了这个错误,只发生在设备上而不是模拟器上。 我正在尝试保存包含字段的用户个人资料:名字,姓氏,电子邮件,性别,出生日期和可选照片(字节[])。

无论我是否使用照片,都会调用API,然后我立即收到此错误。看起来错误与Rest反序列化有关。

Stacktrace:

at RestSharp.RestClient.Deserialize<T> (RestSharp.IRestRequest,RestSharp.RestResponse) <0x001ab>
at RestSharp.RestClient/<ExecuteAsync>c__AnonStorey9`1.<>m__19 (RestSharp.RestResponse,RestSharp.RestRequestAsyncHandle) <0x00147>
at RestSharp.RestClient.ProcessResponse (RestSharp.HttpResponse,RestSharp.RestRequestAsyncHandle,System.Action`2<RestSharp.RestResponse, RestSharp.RestRequestAsyncHandle>) <IL 0x0000b, 0x000db>
at RestSharp.RestClient/<ExecuteAsync>c__AnonStorey8.<>m__15 (RestSharp.HttpResponse) <IL 0x00013, 0x0009b>
at RestSharp.Http.ExecuteCallback (RestSharp.HttpResponse,System.Action`1<RestSharp.HttpResponse>) <IL 0x00002, 0x00093>
at RestSharp.Http/<ResponseCallback>c__AnonStorey6.<>m__5 (System.Net.HttpWebResponse) <IL 0x00018, 0x000c3>
at RestSharp.Http.GetRawResponseAsync (System.IAsyncResult,System.Action`1<System.Net.HttpWebResponse>) <IL 0x0005f, 0x0078b>
at RestSharp.Http.ResponseCallback (System.IAsyncResult,System.Action`1<RestSharp.HttpResponse>) <IL 0x00060, 0x00363>
at RestSharp.Http/<RequestStreamCallback>c__AnonStorey5.<>m__4 (System.IAsyncResult) <IL 0x0000d, 0x00093>
at System.Net.WebAsyncResult.CB (object) [0x00000] in /Developer/MonoTouch/Source/mono/mcs/class/System/System.Net/WebAsyncResult.cs:148
at (wrapper runtime-invoke) object.runtime_invoke_dynamic (intptr,intptr,intptr,intptr) <0xffffffff>

Native stacktrace:

0   ScrapBoomiPhone                     0x00f5c5e5 mono_handle_native_sigsegv + 244
1   ScrapBoomiPhone                     0x00f7560d sigabrt_signal_handler + 112
2   libsystem_c.dylib                   0x34e5ce93 _sigtramp + 42
3   libsystem_c.dylib                   0x34e53123 pthread_kill + 58
4   libsystem_c.dylib                   0x34e8f973 abort + 94
5   ScrapBoomiPhone                     0x010160bb monoeg_g_log + 122
6   ScrapBoomiPhone                     0x00f52383 get_numerous_trampoline + 134
7   ScrapBoomiPhone                     0x00f5264b mono_aot_get_imt_thunk + 34
8   ScrapBoomiPhone                     0x00fc5e05 initialize_imt_slot + 72
9   ScrapBoomiPhone                     0x00fc6bcb build_imt_slots + 642
10  ScrapBoomiPhone                     0x00fc6ca5 mono_vtable_build_imt_slot + 80
11  ScrapBoomiPhone                     0x00f5e60d mono_convert_imt_slot_to_vtable_slot + 212
12  ScrapBoomiPhone                     0x00f5e7b9 common_call_trampoline + 180
13  ScrapBoomiPhone                     0x00f5d48b mono_vcall_trampoline + 158
14  ScrapBoomiPhone                     0x00752bd8 generic_trampoline_vcall + 136
15  ScrapBoomiPhone                     0x002656bc RestSharp_RestClient__ExecuteAsyncc__AnonStorey9_1__m__19_RestSharp_RestResponse_RestSharp_RestRequestAsyncHandle + 328
16  ScrapBoomiPhone                     0x0020d7a4 RestSharp_RestClient_ProcessResponse_RestSharp_HttpResponse_RestSharp_RestRequestAsyncHandle_System_Action_2_RestSharp_RestResponse_RestSharp_RestRequestAsyncHandle + 220
17  ScrapBoomiPhone                     0x002651a8 RestSharp_RestClient__ExecuteAsyncc__AnonStorey8__m__15_RestSharp_HttpResponse + 156
18  ScrapBoomiPhone                     0x001fe7d0 RestSharp_Http_ExecuteCallback_RestSharp_HttpResponse_System_Action_1_RestSharp_HttpResponse + 148
19  ScrapBoomiPhone                     0x00264c74 RestSharp_Http__ResponseCallbackc__AnonStorey6__m__5_System_Net_HttpWebResponse + 196
20  ScrapBoomiPhone                     0x001fe020 RestSharp_Http_GetRawResponseAsync_System_IAsyncResult_System_Action_1_System_Net_HttpWebResponse + 1932
21  ScrapBoomiPhone                     0x001fe41c RestSharp_Http_ResponseCallback_System_IAsyncResult_System_Action_1_RestSharp_HttpResponse + 868
22  ScrapBoomiPhone                     0x00264a9c RestSharp_Http__RequestStreamCallbackc__AnonStorey5__m__4_System_IAsyncResult + 148
23  ScrapBoomiPhone                     0x0035ad4c System_Net_WebAsyncResult_CB_object + 48
24  ScrapBoomiPhone                     0x006f7ff0 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 200
25  ScrapBoomiPhone                     0x00f4a22f mono_jit_runtime_invoke + 1054
26  ScrapBoomiPhone                     0x00fc55ff mono_runtime_invoke + 90
27  ScrapBoomiPhone                     0x00fc5705 mono_runtime_delegate_invoke + 92
28  ScrapBoomiPhone                     0x00ff5ac1 async_invoke_thread + 2480
29  ScrapBoomiPhone                     0x00ff9c87 start_wrapper + 306
30  ScrapBoomiPhone                     0x0100ba5d thread_start_routine + 96
31  ScrapBoomiPhone                     0x00fdf939 gc_start_thread + 60
32  libsystem_c.dylib                   0x34e35311 <redacted> + 308
33  libsystem_c.dylib                   0x34e351d8 thread_start + 8

=================================================================
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 :(得分:2)

  

5 ScrapBoomiPhone 0x010160bb monoeg_g_log + 122

来自堆栈跟踪的那一行是一个暗示Mono运行时试图在崩溃之前显示(log)的东西。在这种情况下,您应该使用Xcode的管理器来查看控制台日志。会打印一些文字,告诉你出了什么问题。

最常见的情况(6.0.8之前)是缺乏蹦床(类型0,1或2)。考虑到下面的堆栈框架,这更可能是:

  

6 ScrapBoomiPhone 0x00f52383 get_numerous_trampoline + 134

请参阅here以获取描述以及如何解决它(但您仍需要阅读控制台以了解需要哪种蹦床类型 - 或者它可能是其他类型的蹦床类型。)

注意:其中一个(刚刚发布的)MonoTouch 6.0.8 主要新功能是,它不需要(对于开发人员)更改此设置(它会自动适应)。希望它的存在很快就会完全被遗忘。