2012-03-13 10 views
1

XCODE 4.2を使用しています。私がクラッシュするたびに、私はクラッシュしている実際のコード行を見ることができません。代わりに、スタックトレース内の汎用例外ハンドラを持つシンボリックアドレスが常に表示されます。実際のコード行がクラッシュするのを確認するには、いくつかの設定を行う必要がありますか?XCODE 4.2のクラッシュ時に実際のコード行でスレッドが停止しない

enter image description here enter image description here

答えて

2

スタックトレースを見ると、handle_uncaught_exceptionが表示されます。これは、例外がスローされ、処理されなかったためにアプリがクラッシュしていることを意味します。これは、割り当てられていないオブジェクトを使用しようとしたこと、または配列の終わりを超えて何かにアクセスしようとしたことを意味します。

もちろん、この時点で何がうまくいかないかは分かりません。幸いにも、Xcodeは、例外が発生するたびに停止するようにブレークポイントを設定できるようになり、より多くのコンテキストを提供します。

本当に簡単です。ただ、ここで「例外ブレークポイントの追加」を選択します。

Image showing the "Add exception breakpoint" option in Breakpoints Navigator

を再度、あなたのアプリケーションを実行し、エラーが発見された場所、あなたは右停止されます。

-1

これは、コンパイラは、プログラムがクラッシュする原因と正確な原因を把握していないときに起こる、正常です。実行時エラーと呼ばれます。あなたはこれを将来何度もやってきます。

これを解決するには、プログラムを手動でデバッグします。これを行うには、クラッシュの原因と思われる箇所を絞り込み、コードの左側の余白をクリックしてブレークポイントを追加します。

プログラムがそのポイントに達すると、プログラムは実行を停止し、手動で行ごとにジャンプすることができます。次に、プログラムがクラッシュしたところまで行きます。

+0

ナンセンス。キャッチされていない例外(Cocoaのほとんどすべての実行時エラー)からの実行時エラーは、例外ブレークポイントを設定することによって簡単に識別できます。 –

1

例外ブレークポイントを設定する必要があります。そのバックトレースは、あなたが捕らえられていない例外を持っていたことを意味します。

関連する問題