MonoTouch случайный сбой на устройстве, а не на симуляторе


Я думаю, что это как-то связано с памятью, но я сделал все, что мог придумать. Я позаботился о том, чтобы классы были утилизированной собственностью. Поддерживал жесткие ссылки на уровне класса вместо области действия функции, для вещей, которые могли бы получить GC'D, пока я их использую, и т. д.

В основном приложение отлично работает в симуляторе, но вылетает в том же месте на реальном устройстве. Кажется, что я получаю несколько разных стопок, но они все вокруг одного и того же места.

Я использую a большое количество событий в моем приложении. Слишком много нитей?

Stacktrace:

В Newtonsoft.формат JSON.JsonWriter.WriteValue (object) at Newtonsoft.формат JSON.Сериализация.JsonSerializerInternalWriter.SerializeValue (Newtonsoft.формат JSON.JsonWriter, object, Newtonsoft.формат JSON.Сериализация.JsonContract, Newtonsoft.формат JSON.Сериализация.JsonProperty, Newtonsoft.формат JSON.Сериализация.JsonContract) около Newtonsoft.формат JSON.Сериализация.JsonSerializerInternalWriter.WriteMemberInfoProperty (Newtonsoft.формат JSON.JsonWriter, object, Newtonsoft.формат JSON.Сериализация.JsonProperty, Newtonsoft.формат JSON.Сериализация.JsonContract) около Newtonsoft.формат JSON.Сериализация.JsonSerializerInternalWriter.SerializeObject (Newtonsoft.формат JSON.JsonWriter, object, Newtonsoft.формат JSON.Сериализация.JsonObjectContract, Newtonsoft.формат JSON.Сериализация.JsonProperty, Newtonsoft.формат JSON.Сериализация.JsonContract) около Newtonsoft.формат JSON.Сериализация.JsonSerializerInternalWriter.SerializeValue (Newtonsoft.формат JSON.JsonWriter, object, Newtonsoft.формат JSON.Сериализация.JsonContract, Newtonsoft.формат JSON.Сериализация.JsonProperty, Newtonsoft.формат JSON.Сериализация.JsonContract) около Newtonsoft.формат JSON.Сериализация.JsonSerializerInternalWriter.Сериализелист (Newtonsoft.формат JSON.JsonWriter, Newtonsoft.формат JSON.Коммунальные услуги.IWrappedCollection, Ньютонсофт.формат JSON.Сериализация.JsonArrayContract, Ньютонсофт.формат JSON.Сериализация.JsonProperty, Newtonsoft.формат JSON.Сериализация.JsonContract) около Newtonsoft.формат JSON.Сериализация.JsonSerializerInternalWriter.SerializeValue (Newtonsoft.формат JSON.JsonWriter, object, Newtonsoft.формат JSON.Сериализация.JsonContract, Newtonsoft.формат JSON.Сериализация.JsonProperty, Newtonsoft.формат JSON.Сериализация.JsonContract) около Newtonsoft.формат JSON.Сериализация.JsonSerializerInternalWriter.WriteMemberInfoProperty (Newtonsoft.формат JSON.JsonWriter, object, Newtonsoft.формат JSON.Сериализация.JsonProperty, Newtonsoft.формат JSON.Сериализация.JsonContract) около Newtonsoft.формат JSON.Сериализация.JsonSerializerInternalWriter.SerializeObject (Newtonsoft.формат JSON.JsonWriter, object, Newtonsoft.формат JSON.Сериализация.JsonObjectContract, Newtonsoft.формат JSON.Сериализация.JsonProperty, Newtonsoft.формат JSON.Сериализация.JsonContract) около Newtonsoft.формат JSON.Сериализация.JsonSerializerInternalWriter.SerializeValue (Newtonsoft.формат JSON.JsonWriter, object, Newtonsoft.формат JSON.Сериализация.JsonContract, Newtonsoft.формат JSON.Сериализация.JsonProperty, Newtonsoft.формат JSON.Сериализация.JsonContract) около Newtonsoft.формат JSON.Сериализация.JsonSerializerInternalWriter.Сериализовать (Newtonsoft.формат JSON.JsonWriter, object) на Newtonsoft.формат JSON.JsonSerializer.SerializeInternal (Newtonsoft.формат JSON.JsonWriter, object) на Newtonsoft.формат JSON.JsonSerializer.Сериализовать (Newtonsoft.формат JSON.JsonWriter, object) на RestSharp.Сериализаторы.JsonSerializer.Сериализовать (объект) [0x0001c] в / Пользователи / sonmez56 / проекты / TrackAbout.Mono / RestSharp / RestSharp / Serializers / JsonSerializer.КС: 64 в RestSharp.Запрос на отдых.AddBody (объект, строка) [0x00019] in / Пользователи / sonmez56 / проекты / TrackAbout.Mono / RestSharp / RestSharp / RestRequest.КС: 203 в RestSharp.Запрос на отдых.AddBody (object) [0x00000] in / Пользователи / sonmez56 / проекты / TrackAbout.Mono / RestSharp / RestSharp / RestRequest.КС: 232 около TrackAboutMonoCore.Сервисы.TrackAboutAPIRequestBuilder / TARestRequest.WithBody (T) at TrackAboutMonoCore.Сервисы.Служба действий.CustomerSetVolume (int, System.Коллекции.Родовой.Список 1<TrackAboutMonoCore.Models.Asset>,System.Action1>) [0x00000] в / Пользователи / sonmez56 / проекты / TrackAbout.Mono / TrackAboutMonoCore / Сервисы / ActionsService.КС: 24 в TrackAboutMonoCore.Контроллеры.LocateController.Сохранить (объектная система.EventArgs) [0x00055] в / Пользователи / sonmez56 / проекты / TrackAbout.Mono / TrackAboutMonoCore / Controllers / LocateController.КС: 64 хотя есть некоторые подробности.Базе UIKit.UIBarButtonItem / Обратный Вызов.Вызов (Монотонно.Основа.NSObject) [0x00010] в /Разработчик/есть некоторые подробности/источник/есть некоторые подробности/ГРЦ/базе UIKit/UIBarButtonItem.cs: 23 в (оболочки во время выполнения вызова) объекта.runtime_invoke_dynamic (указателя IntPtr,указателя IntPtr,указателя IntPtr,указателя IntPtr) в Монотонное прикосновение.Базе UIKit.UIApplication.Main (string [], string, string) [0x0004c] в /Разработчик/есть некоторые подробности/источник/есть некоторые подробности/ГРЦ/базе UIKit/UIApplication.КС: 38 в Трекабутиосе.Приложение.Main (string []) [0x00000] in / Пользователи / sonmez56 / проекты / TrackAbout.Mono / TrackAboutIOS / TrackAboutIOS / Main.КС: 16 в (оболочки во время выполнения вызова) объекта.runtime_invoke_dynamic (указателя IntPtr,указателя IntPtr,указателя IntPtr,указателя IntPtr)

Native stacktrace:

0 TrackAboutIOS 0x01d20618 mono_handle_native_sigsegv + 280 1 TrackAboutIOS
0x01d45bd4 sigabrt_signal_handler + 180 2 libsystem_c. dylib
0x376647ed _sigtramp + 48 3 libsystem_c. dylib
0x3765a20f pthread_kill + 54 4 libsystem_c. dylib
0x3765329f abort + 94 5 TrackAboutIOS
0x01e394ac monoeg_g_log + 208 6 TrackAboutIOS
0x01d11664 get_numerous_trampoline + 160 7 TrackAboutIOS
0x01d11aac mono_aot_get_imt_thunk + 56 8 TrackAboutIOS
0x01dbdc50 initialize_imt_slot + 112 9 TrackAboutIOS
0x01dbf1c4 build_imt_slots + 1124 10 TrackAboutIOS
0x01dbf32c mono_vtable_build_imt_slot + 120 11 TrackAboutIOS
0x01d236fc mono_convert_imt_slot_to_vtable_slot + 292 12 TrackAboutIOS 0x01d23974 common_call_trampoline + 284 13 TrackAboutIOS 0x01d21c60 mono_vcall_trampoline + 228 14 TrackAboutIOS
0x00934198 generic_trampoline_vcall + 136 15 TrackAboutIOS
0x00b9fec4 Newtonsoft_Json_Serialization_Jsonserializerinternalwriter_serializevalue_newtonsoft_json_jsonwriter_object_newtonsoft_json_serialization_jsoncontract_newtonsoft_json_serialization_jsonproperty_newtonsoft_json_serialization_jsoncontract + 1116 16 TrackAboutIOS 0x00ba13bc Newtonsoft_Json_Serialization_Jsonserializerinternalwriter_writememberinfoproperty_newtonsoft_json_jsonwriter_object_newtonsoft_json_serialization_jsonproperty_newtonsoft_json_serialization_jsoncontract + 1712 17 TrackAboutIOS 0x00ba2a70 Newtonsoft_Json_Serialization_Jsonserializerinternalwriter_serializeobject_newtonsoft_json_jsonwriter_object_newtonsoft_json_serialization_jsonobjectcontract_newtonsoft_json_serialization_jsonproperty_newtonsoft_json_serialization_jsoncontract + 1784 18 TrackAboutIOS 0x00ba0124 Newtonsoft_Json_Serialization_Jsonserializerinternalwriter_serializevalue_newtonsoft_json_jsonwriter_object_newtonsoft_json_serialization_jsoncontract_newtonsoft_json_serialization_jsonproperty_newtonsoft_json_serialization_jsoncontract + 1724 19 TrackAboutIOS 0x00ba3ec0 Newtonsoft_Json_Serialization_Jsonserializerinternalwriter_serializelist_newtonsoft_json_jsonwriter_newtonsoft_json_utilities_iwrappedcollection_newtonsoft_json_serialization_jsonarraycontract_newtonsoft_json_serialization_jsonproperty_newtonsoft_json_serialization_jsoncontract + 2520 20 TrackAboutIOS 0x00ba041c Newtonsoft_Json_Serialization_Jsonserializerinternalwriter_serializevalue_newtonsoft_json_jsonwriter_object_newtonsoft_json_serialization_jsoncontract_newtonsoft_json_serialization_jsonproperty_newtonsoft_json_serialization_jsoncontract + 2484 21 TrackAboutIOS 0x00ba13bc Newtonsoft_Json_Serialization_Jsonserializerinternalwriter_writememberinfoproperty_newtonsoft_json_jsonwriter_object_newtonsoft_json_serialization_jsonproperty_newtonsoft_json_serialization_jsoncontract + 1712 22 TrackAboutIOS 0x00ba2a70 Newtonsoft_Json_Serialization_Jsonserializerinternalwriter_serializeobject_newtonsoft_json_jsonwriter_object_newtonsoft_json_serialization_jsonobjectcontract_newtonsoft_json_serialization_jsonproperty_newtonsoft_json_serialization_jsoncontract + 1784 23 TrackAboutIOS 0x00ba0124 Newtonsoft_Json_Serialization_Jsonserializerinternalwriter_serializevalue_newtonsoft_json_jsonwriter_object_newtonsoft_json_serialization_jsoncontract_newtonsoft_json_serialization_jsonproperty_newtonsoft_json_serialization_jsoncontract + 1724 24 TrackAboutIOS 0x00b9f70c Newtonsoft_Json_Serialization_Jsonserializerinternalwriter_serialize_newtonsoft_json_jsonwriter_object + 356 25 TrackAboutIOS 0x00b2c52c Newtonsoft_Json_JsonSerializer_Serializeinternal_newtonsoft_json_jsonwriter_object + 300 26 TrackAboutIOS 0x00b2c3b4 Newtonsoft_Json_JsonSerializer_Serialize_newtonsoft_json_jsonwriter_object + 156 27 TrackAboutIOS 0x012010c0 RestSharp_Serializers_JsonSerializer_serialize_object + 452 28 TrackAboutIOS 0x011f8ad0 RestSharp_RestRequest_AddBody_object_string + 396 29 TrackAboutIOS
0x011f8e4c RestSharp_RestRequest_AddBody_object + 152 30 TrackAboutIOS 0x011d3c64 TrackAboutMonoCore_Services_Trackaboutapirequestbuilder_tarestrequest_withbody_t_t + 152 31 TrackAboutIOS 0x011d22d4 TrackAboutMonoCore_Services_Actionsservice_customersetvolume_int_system_collections_generic_list_1_trackaboutmonocore_models_asset_system_action_1_restsharp_restresponse_1_trackabout_rest_models_tarestresponse + 328 32 TrackAboutIOS 0x011ce3bc TrackAboutMonoCore_Controllers_Locatecontroller_save_object_system_eventargs + 960 33 TrackAboutIOS 0x0139003c MonoTouch_UIKit_UIBarButtonItem_callback_call_monotouch_foundation_nsobject + 96 34 TrackAboutIOS 0x008b0450 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 200 35 TrackAboutIOS 0x01d05834 mono_jit_runtime_invoke + 1644 36 TrackAboutIOS
0x01dbd09c mono_runtime_invoke + 128 37 TrackAboutIOS
0x01e4c054 monotouch_trampoline + 3436 38 CoreFoundation
0x30c7f3fd - [NSObject performSelector: withObject: withObject:] + 52 39 UIKit 0x3353efaf - [UIApplication sendAction: to: from: forEvent:] + 62 40 UIKit
0x3360476b - [UIBarButtonItem (UIInternal) _sendAction: withEvent:] + 118 41 CoreFoundation 0x30c7f3fd - [NSObject performSelector: withObject: withObject:] + 52 42 UIKit
0x3353efaf - [UIApplication sendAction: to: from: forEvent:] + 62 43 UIKit 0x3353ef6b - [UIApplication sendAction: toTarget:fromSender:forEvent:] + 30 44 UIKit
0x3353ef49 -[UIControl sendAction: to: forEvent:] + 44 45 UIKit
0x3353ecb9 - [UIControl (Internal) _sendActionsForEvents: withEvent:] + 492 46 UIKit 0x3353f5f1 - [UIControl touchesEnded: withEvent:] + 476 47 UIKit
0x3353dad3 -[UIWindow _sendTouchesForEvent:] + 318 48 UIKit
0x3353d4c1 -[UIWindow sendEvent:] + 380 49 UIKit
0x3352383d -[UIApplication sendEvent:] + 356 50 UIKit
0x335230e3 _UIApplicationHandleEvent + 5826 51 GraphicsServices
0x33e1322b PurpleEventCallback + 882 52 CoreFoundation
0x30cf9523 CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION + 38 53 CoreFoundation 0x30cf94c5 CFRunLoopDoSource1 + 140 54 CoreFoundation 0x30cf8313 _ _ CFRunLoopRun + 1370 55 CoreFoundation
0x30c7b4a5 CFRunLoopRunSpecific + 300 56 CoreFoundation
0x30c7b36d CFRunLoopRunInMode + 104 57 GraphicsServices
0x33e12439 GSEventRunModal + 136 58 UIKit
0x33551e7d UIApplicationMain + 1080 59 TrackAboutIOS
0x01696c74 wrapper_managed_to_native_MonoTouch_uikit_uiapplication_uiapplicationmain_int_string
_intptr_intptr + 240 60 TrackAboutIOS 0x00098420 TrackAboutIOS_приложение_основных_строка__ + 152 61 TrackAboutIOS
0x008b0450 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 200 62 TrackAboutIOS 0x01d05834 mono_jit_runtime_invoke + 1644 63 TrackAboutIOS
0x01dbd09c mono_runtime_invoke + 128 64 TrackAboutIOS
0x01dc16b4 mono_runtime_exec_main + 436 65 TrackAboutIOS
0x01dc1a74 mono_runtime_run_main + 756 66 TrackAboutIOS
0x01d0c744 mono_jit_exec + 140 67 TrackAboutIOS
0x01e41110 main + 2288 68 TrackAboutIOS
0x0009826c старт + 52

1 5

1 ответ:

Обычно есть исключение Тип и сообщение перед строкой:

Stacktrace:

Обычно это дает хороший намек на проблему. Теперь собственная трассировка стека также дает ключ здесь:

0x01e394ac monoeg_g_log + 208 6 TrackAboutIOS

0x01d11664 get_numerous_trampoline + 160 7 TrackAboutIOS

Первая строка говорит нам, что что-то было напечатано (или, по крайней мере, оно пыталось напечатать) в ваших журналах. Это ты проверь в журнале вашего устройства (например, с помощью Xcode или mtouch --logdev) вы должны увидеть сообщение.

Следующая строка заставляет меня думать, что у вас заканчиваются батуты (сообщение об ошибке сообщит вам, какой тип). Вот инструкции о том, как увеличить количество батутов, доступных для вашего приложения.

Примечание: если это не связано с батутом, пожалуйста, отредактируйте свой вопрос, чтобы добавить тип исключения / сообщение и содержимое журнала вашего устройства.