Unity iOS アプリでクラッシュが発生しました。
デバッグ時に再現することはできませんが、定期的にこのクラッシュを検出しています。
クラッシュログを分析しようとしました。(クラッシュ ログは投稿の下部にあります) クラッシュ ログに記載されているコードの一部 (m_Controller... メソッド) を調べたところ、クラッシュの原因となるものは見つかりませんでした。
コードのその部分で発生する可能性のある状況を想像しようとしましたが、クラッシュにつながる可能性はありません。* ディスクからロードされ、変更された文字列の小さな配列があります。この部分のコードを書き直すことを考えていますが、プログラムの他の部分が影響してこのクラッシュにつながる可能性があり、書き直してもクラッシュが残る可能性があります。
コードのこの部分に try-catch ブロックを追加し、例外が正常に発生した場合 (ユーザーをアプリのメイン メニューに移動する) の状況を処理しようとしましたが、アプリの要件により、このブロックを削除する必要があります。
また、アドホック ビルド (Xcode でリリース構成を使用する) でのみクラッシュが発生する (または少なくともはるかに頻繁に発生する) と思います。クラッシュ ログの一部で、GC_malloc に mono_gc_out_of_memory を確認できますが、これは私には非常に奇妙に見えます (iOS はメモリが少ないときにメモリ警告を生成すると考えていましたが、mono には独自の制約がある可能性があります)。
また、別のクラッシュ ログ (mono_gc_out_of_memory を使用せずに) を使用して、コードのこの部分で別の 1 つまたは 2 つのクラッシュがありますが、それらはすべて ArrayList (他の状況では ArrayList.Clear())のメソッドで発生します。
この状況で私たちを助けてもらえますか? このクラッシュにどのように対処すればよいか、何かアドバイスをいただけますか?
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x00000000e7ffdefe
Crashed Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 MyApp 0x00f0e150 CrashedCheckBellowForHintsWhy() (CrashReporter.mm:73)
1 MyApp 0x00dcd888 m_wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 200
2 MyApp 0x01462eec mono_jit_runtime_invoke + 2152
3 MyApp 0x01504f24 mono_runtime_invoke + 132
4 MyApp 0x015050a8 mono_runtime_delegate_invoke + 128
5 MyApp 0x0150931c call_unhandled_exception_delegate + 340
6 MyApp 0x0150b230 mono_unhandled_exception + 328
7 MyApp 0x01473080 mono_handle_exception_internal + 952
8 MyApp 0x01473918 mono_handle_exception + 64
9 MyApp 0x0148f6d8 mono_arm_throw_exception + 184
10 MyApp 0x00e76ecc throw_exception + 44
11 MyApp 0x014b7f44 mono_gc_out_of_memory + 16
12 MyApp 0x0156a62c GC_generic_malloc + 452
13 MyApp 0x0156a6cc GC_malloc + 140
14 MyApp 0x015045fc mono_array_new_specific + 272
15 MyApp 0x00dd27ac m_wrapper_managed_to_native_object___icall_wrapper_mono_array_new_specific_intptr_int + 68
16 MyApp 0x00b7b2b8 m_System_Collections_ArrayList_InsertRange_int_System_Collections_ICollection + 212
17 MyApp 0x00b7b898 m_System_Collections_ArrayList_AddRange_System_Collections_ICollection + 52
18 MyApp 0x001fc3fc m_Controller_PrepareSkins_string_string_string_string_string_string_string__ + 1600
19 MyApp 0x001fda88 m_Controller_Awake + 4972