objc_exception_throwにブレークポイントを追加するにはどうすればよいですか?


80

これはこのSOのブラッドラーソンからの答えでした 質問に対する

2つのブレークポイントを追加すると、これらの例外をデバッグできるはずです。これを行うには、実行|に移動します。表示| ブレークポイントと2つのグローバルブレークポイントを作成します(すべてのアプリケーションで非常に役立つため、グローバルに作成します)。最初の名前は「objc_exception_throw」で、場所は「libobjc.A.dylib」である必要があります。2番目は「-[NSExceptionraise]」で、その場所は「CoreFoundation」である必要があります。

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

今この答えで私はどのように私が言及された場所を追加するのか尋ねたいですか?


XCode 4のスクリーンショット/メニューパスを持っている人はいますか?
ビルドは2011

2
XCode 4でこれを行う方法については、Apple Dev Forumsでこのスレッドを確認してください。devforums.apple.com/ thread
Andy Sinclair

回答:


81

ブラッドの答えはかなり明確だと思います。うまくいけば、これが明確になっていない場合に役立つでしょう。

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

左側のメニューで「グローバルブレークポイント」を選択します。「ブレークポイント」列の下の右側に、「シンボルをダブルクリック」というテキストのボックスが表示されます。このボックスをシングルクリックして、「objc_exception_throw」と入力します。

次に、「location」列の下の「objc_exception_throw」の横のスペースをシングルクリックします。場所(この場合は「libobjc.A.dylib」)を入力するためのボックスが表示されます。うまくいけば役立つスクリーンショットを作成しました:

代替テキスト


よく働く。詳細をありがとう。
ロブ・シーガル

17
Xcode 4には、これらを追加できるブレークポイントナビゲーターがあります。
ドン

また、コンソール例外の説明を出力するスクリプトをインストールすることもできます。
DanSkeel 2015


6

Xcode6-トップメニューから

デバッグ>ブレークポイント>例外ブレークポイントの作成


他の回答は変更されました。この回答は2017年4月/ Xcode8の時点で正しいものです
Josh

4

また、+[NSException raise:format:arguments:]ブレークポイントを追加することをお勧めしますCoreFoundation。その場所はです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.