1. ホーム
  2. objective-c

[解決済み] objc_exception_throw にブレークポイントを追加するには?

2023-07-09 05:34:33

質問

これは、この件に関するブラッド・ラーソンの回答です。 SO 質問

2つのブレークポイントを追加すれば、これらの例外をデバッグすることができるはずです。これを行うには、[実行]、[表示]、[ブレークポイント] と進み、2 つのグローバル ブレークポイントを作成します (すべてのアプリケーションで非常に有用であるため、私はグローバルに行います)。1つ目は "objc_exception_throw" という名前で、その場所は "libobjc.A.dylib" とします。2つ目は "-[NSException raise]" で、その場所は "CoreFoundation" である必要があります。

さて、ブレークポイントを有効にしてアプリケーションのデバッグを開始すると、これらの例外のスローでブレークするはずです。そして、デバッガー内で例外に至ったイベントの連鎖を見ることができるようになるはずです。

この回答で、私はどのように私は言及された場所を追加するのですかと尋ねたいです。

どのように解決するには?

Bradの回答はかなり明確だと思います。もしあなたが明確な回答を見つけられなければ、これが助けになることを願っています。

Xcodeのトップメニューから、Run > Show > Breakpointsをクリックします。 新しいウィンドウがポップアップ表示されます。

左側のメニューから "global breakpoints" を選択します。 右側の "Breakpoint" 列の下に、"Double-Click for symbol" というテキストが書かれたボックスがあるはずです。 このボックスをシングルクリックし、"objc_exception_throw" と入力します。

次に、[場所] 列の下の "objc_exception_throw" の横のスペースをシングルクリックします。 場所を入力するためのボックスが表示されます (この場合、"libobjc.A.dylib")。 助けになればと思い、スクリーンショットを作成しました。