2009-07-22 10 views
79

これは、あなたが2つのブレークポイントを追加する場合は、これらの例外をデバッグすることができるはずです。この SO質問objc_exception_throwにブレークポイントを追加するには?

のブラッドラーソンからの回答でした。これを行うには、実行|ショー|ブレークポイントを作成し、2つのグローバルブレークポイントを作成します(私はすべてのアプリケーションで非常に便利なので、それらをグローバルに実行します)。最初の名前は "objc_exception_throw"とし、その場所は "libobjc.A.dylib"にする必要があります。 2番目は " - [NSException raise]"で、その位置は "CoreFoundation"にする必要があります。

ブレークポイントを有効にしてアプリケーションのデバッグを開始すると、これらの例外がスローされます。デバッガ内で例外につながった一連のイベントを確認することができます。

ここでこの回答にはどのように質問したいと思いますか?

+0

誰かがXCode 4のスクリーンショット/メニューパスを持っていますか? – buildsucceeded

+2

Xcode 4でこれを行う方法については、Apple Devフォーラムのこのスレッドをチェックしてください:https://devforums.apple.com/thread/68421 –

答えて

81

私はブラッドの答えはかなり明確だと思います。うまくいけば、あなたがそれを明確にしていないなら、これは助けになるでしょう。

Xcodeのトップメニューから、[実行]> [表示]> [ブレークポイント]をクリックします。新しいウィンドウがポップアップします。

左側のメニューで[グローバルブレークポイント]を選択します。右側に "Breakpoint"カラムの下の "Double-Click symbol"という文字列のボックスがあります。このボックスを1回クリックし、「objc_exception_throw」と入力します。

次に、[場所]列の下の[objc_exception_throw]の横のスペースを1回クリックします。場所を入力するためのボックスが表示されます(この場合は "libobjc.A.dylib")。私もCoreFoundationでなければなりません+[NSException raise:format:arguments:]ブレークポイントとその場所を追加することをお勧めしたいと思います

alt text

+0

非常に明確な答えをありがとう –

+0

これは本当に有益です。 :) – Spanky

+0

素晴らしい作品です。細部をありがとう。 –

4

:私はうまくいけば役立つスクリーンショットを作りました。 Xcodeの4において

+0

ありがとう@ el-developer –

45

この偉大なブレークポイントは、ブレークポイント部(+ 6⌘)Xcodeの6

enter image description here

+1

これと同じアプローチはXCode 5でも使用できます –

+0

また、[例外の説明をコンソールに表示するスクリプト](http://stackoverflow.com/a/29671227/991816)もインストールできます。 – DanSkeel

6

の "+" ボタンを介して添加することができる - デバッグ

トップメニューから>ブレークポイント>例外ブレークポイントの作成

+0

その他の回答が変更されました。この回答は2017年4月現在の正しい回答です/ Xcode8 – Josh