2012-01-02 10 views
2

に停止したときにどのようにスタックトレースを解釈:多くの場合、私はこのような痕跡スタックを取得メイン

 
0 StackAsk 0x0007fc0d +[TFCrashHandler backtrace] + 429 
1 StackAsk 0x0007fe4b TFHandleExceptions + 35 
2 CoreFoundation 0x33d56987 __handleUncaughtException + 74 
3 libobjc.A.dylib 0x3583d2d1 _objc_terminate + 128 
4 libc++abi.dylib 0x34a763c5 _ZL19safe_handler_callerPFvvE + 76 
5 libc++abi.dylib 0x34a76451 _ZdlPv + 0 
6 libc++abi.dylib 0x34a77825 __cxa_current_exception_type + 0 
7 libobjc.A.dylib 0x3583d235 objc_exception_rethrow + 12 
8 CoreFoundation 0x33cac53d CFRunLoopRunSpecific + 404 
9 CoreFoundation 0x33cac39d CFRunLoopRunInMode + 104 
10 GraphicsServices 0x34f93439 GSEventRunModal + 136 
11 UIKit 0x317a39f1 UIApplicationMain + 1080 
12 StackAsk 0x0002c1c1 main (main.m:16) 
13 StackAsk 0x0002c150 start + 40 

をするとき、私これが発生した場合

(このログはTestFlightApp.comを使用して、テスタからです)デバッガはmain機能で停止します。与えられた

例外理由があった。

 
*** -[__NSArrayM objectAtIndex:]: index 17 beyond bounds [0 .. 16] 

私がリリースまたはデバッグビルド構成が違いはありません使用して、クラッシュを自分自身を複製することはできません。例外が実際にどこで起こったかを知るために私は何ができますか?

+0

あなたは 'objc_exception_throw'を壊してみましたか? – jlehr

+0

問題は私自身ではなく、テスターからのものであり、私はそれを複製できませんでした。だから私はブレークポイントを設定することはできません。何もデバッグしていないからです。 –

答えて

0

iOSで生成されたクラッシュレポートを確認するようにテスターに​​依頼してください。最後に例外バックトレースがあり、それをシンボル化してどこで発生するかを確認できます。

他にもHockeyAppとQuincyKitというクラッシュレポートのフレームワークとサービスがあります(注:私は両方に関わっています)。これらはPLCrashReporterを使用しています。これは最後の例外バックトレースを追跡することもでき、App Storeでも安全に使用できます。

関連する問題