web-dev-qa-db-ja.com

Intellij Ideaの例外ブレークポイントの使用方法

これは馬鹿げた質問のようですが、Intellij Ideaで例外をデバッグする方法がわかりません。グーグル操作も役に立ちません。

例外ブレークポイントを作成しようとしています。 IDEAが壊れた場合、Visual Studioのデバッグツールと同様に、例外をスローするメソッドにつながる原因を示すコールスタックと自動ウォッチウィンドウが表示されます。代わりに、すべての種類が表示されます。 LauncherまたはClassLoaderに関する文字化けしたメッセージは表示されますが、実行時の実際の例外の兆候はありません。

では、IDEAの例外ブレークポイントはどの程度正確に使用されることになっているのでしょうか。

32
Siyuan Ren

ようやく自分で考え出した。 View BreakpointsウィンドウでAny Exceptionをオンにし、Caught exceptionのマークをオフにします。ランチャーとクラスローダーの例外は、JVMによって内部的にキャッチおよび処理されます。このようにして、例外のタイプを手動で指定しなくても、ユーザー例外がキャッチされます。

9
Siyuan Ren

それは本当にうまく機能し、LauncherやClassLoaderでどのような問題が発生しているのか本当にわかりません。 _Any exceptions_をキャッチするように選択した可能性があります。これは、起動時およびクラスのロード中にもあらゆる種類の例外をキャッチすることを意味します。キャッチする例外について特定の選択を行うか、例外がキャッチされるまですべての例外を通過する必要があります。

とにかく、私が非常に単純なケースをどのように設定したかをお見せしましょう。

NullPointerExceptionがスローされる単純なケースがあります。

まず、例外ブレークポイントを設定する必要があります。

を押して_View Breakpoints..._ウィンドウに入ります Ctrl+Shift+F8。次に、左上隅にある小さな+記号を押します。

enter image description here

NullPointerExceptionと入力し、OKボタンを押します。

enter image description here

_Any exception_がチェックされていないことを確認してください。

次に、mainメソッド内を右クリックしてDebug 'SomeClass.main()'を選択し、プログラムを実行します。

enter image description here

そして最後に、例外がキャッチされたときに、call stackwatch windowのような期待どおりのものがすべて表示されるようにします。

enter image description here

65
maba