2011-12-19 4 views
8

私はモーダルビューコントローラを解任しようとしていると、次のエラーを取得しています:iOSスタックトレースなしでクラッシュをデバッグする方法:[__NSArrayM objectAtIndex:]:インデックス0は空の配列の境界を超えていますか?

*キャッチされない例外「NSRangeException」に起因するアプリを終了、理由:「* - [__ NSArrayM objectAtIndex:]:超えてインデックス0空の配列の境界 '

ある時点で、私はこのようなエラーをデバッグするのに4時間を費やしました。どのオブジェクトが間違ったアクセスを引き起こしたかを理解するために、そのようなエラーのスタックトレースを調べる方法があれば教えてください。

ありがとうございました!

答えて

13

Xcode 4では、ブレークポイントエディタで例外ブレークポイントを設定できます。例外がスローされるたびに(または設定方法によってはキャッチされるたびに)、アプリケーションは例外をスローした行で一時停止します。

+0

私は2つの答えを組み合わせることができます。私は例外を壊すかもしれないことを知らなかった。 –

+1

なぜあなたはこれを望んでいないでしょうか? – rdougan

+0

iOS7では、このブレークポイントは制約ベースの例外でもトリガされます。これは現時点で他のものに取り組んでいると非常に迷惑になることがあります。 –

22

デバッガで実行している場合は、例外がスローされている実際の行を確認する必要があります。

左ペインの上部にある[ブレークポイント]タブをクリックしてブレークポイントを追加し、左下のプラス記号をクリックします。例外ブレークポイントを追加します。

enter image description here

関連する問題