スタック トレースを iPhone のローカル ファイルに出力するために使用NSSetUncaughtExceptionHandler
します。このファイルは、次にアプリを起動したときにサーバーに送信されます。その後、例外データを調べてバグを修正できます。一部のクラッシュでは、モジュール名と例外をスローした関数があり、これらは簡単です。しかし、ほとんどの場合、次のようなものがあります。
"4 libc++abi.dylib 0x35bba3c5 _ZL19safe_handler_callerPFvvE + 76",
"5 libc++abi.dylib 0x35bba451 _ZdlPv + 0",
"6 libc++abi.dylib 0x35bbb825 __cxa_current_exception_type + 0",
"7 libobjc.A.dylib 0x37bab2a9 objc_exception_rethrow + 12",
"8 CoreFoundation 0x3575a50d CFRunLoopRunSpecific + 404"
たとえば、理由は次のとおりです。
*** -[__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array
しかし、アプリには数十の配列があるため、スタック トレースから取得したデータを使用して、例外をスローした特定の行を見つける手助けが必要です。
ソース コード内の問題のある行を見つけるために、スタック トレース内の数字をデコードする方法を学ぶことができる、Apple またはその他の優れた記事/チュートリアルを知っている人はいますか。前もって感謝します!