iOSアプリ開発で例外の発生した場所を特定する その2

2012.10.04

前回は、例外の発生した場所を特定する方法として、「NSSetUncaughtExceptionHandler」を使った方法を紹介しました。
今回は、Xcodeの機能の「Exception Breakpoint」を使用して、例外の発生した場所を特定してみます。
前回のブログで頂いたコメントを参考にしました。ありがとうございました。)

環境は、Xcode 4.5 を使用します。
例外を発生させる処理は前回と同じなので省略します。
以下、手順です。

① Breakpointアイコンのボタンをクリックして、「Breakpoint Navigator」を開きます。(ショートカットは、「⌘」+「6」)
② 「+」ボタンをクリックします。

③ 「Add Exception Breakpoint...」をクリックします。

④ 「Done」ボタンをクリックします。

設定はこれで終わりです。
では、実行してみます。

すると、上の画面のようになり、処理中で止まります。
赤枠内を見るとわかるように、例外の発生した場所で止まってくれるので、場所の特定は一目瞭然です。

開発中は「Exception Breakpoint」を使用して予期していない例外に対応し、テストやリリース時には障害対応のために「NSSetUncaughtExceptionHandler」で取得したスタックを、ファイル書き出しやメール送信と組み合わせて使用したりと、これらの方法を使い分けて活用していけたら良いと思います。