これは馬鹿げた質問のようですが、Intellij Ideaで例外をデバッグする方法がわかりません。グーグル操作も役に立ちません。
例外ブレークポイントを作成しようとしています。 IDEAが壊れた場合、Visual Studioのデバッグツールと同様に、例外をスローするメソッドにつながる原因を示すコールスタックと自動ウォッチウィンドウが表示されます。代わりに、すべての種類が表示されます。 Launcher
またはClassLoader
に関する文字化けしたメッセージは表示されますが、実行時の実際の例外の兆候はありません。
では、IDEAの例外ブレークポイントはどの程度正確に使用されることになっているのでしょうか。
ようやく自分で考え出した。 View Breakpoints
ウィンドウでAny Exception
をオンにし、Caught exception
のマークをオフにします。ランチャーとクラスローダーの例外は、JVMによって内部的にキャッチおよび処理されます。このようにして、例外のタイプを手動で指定しなくても、ユーザー例外がキャッチされます。
それは本当にうまく機能し、LauncherやClassLoaderでどのような問題が発生しているのか本当にわかりません。 _Any exceptions
_をキャッチするように選択した可能性があります。これは、起動時およびクラスのロード中にもあらゆる種類の例外をキャッチすることを意味します。キャッチする例外について特定の選択を行うか、例外がキャッチされるまですべての例外を通過する必要があります。
とにかく、私が非常に単純なケースをどのように設定したかをお見せしましょう。
NullPointerException
がスローされる単純なケースがあります。
まず、例外ブレークポイントを設定する必要があります。
を押して_View Breakpoints...
_ウィンドウに入ります Ctrl+Shift+F8。次に、左上隅にある小さな+記号を押します。
NullPointerExceptionと入力し、OK
ボタンを押します。
_Any exception
_がチェックされていないことを確認してください。
次に、mainメソッド内を右クリックしてDebug 'SomeClass.main()'
を選択し、プログラムを実行します。
そして最後に、例外がキャッチされたときに、call stackやwatch windowのような期待どおりのものがすべて表示されるようにします。