2009-07-14 8 views
12

jUnitのデバッグモード中に未知の例外にEclipseを壊す方法はありますか? main()を実行すると、Eclipseは正常に機能しなくなります。私は使用できるコマンドラインスイッチはありますか?jUnitを使用してEclipseで例外を中断する

おかげ

答えて

1

jUnitで単一のメソッドをデバッグすると、ブレークポイントが機能し始めます。クラスまたはパッケージ全体がjUnitでデバッグされている場合、デバッガは機能しません。

3

デバッグモードで実行する場合、これはEclipseのそれ以降のバージョンのデフォルトの動作でなければなりません。

+0

興味深い。 jUnitテストでエラーが発生した場合にのみ発生します。 – User1

+0

質問が更新されました。 – User1

+0

追加した重要な詳細。あなたはどのようにju​​nitを呼び出しますか? –

0

メニューから[実行] - [デバッグ]を選択する必要があります。 Eclipseは、コード内の例外とブレークポイントで停止します。あなたが興味のあるどの例外を正確にフィルタリングすることができ、デバッグの観点から

6

。ブレークポイントで

があるビュー「Jが!」ボタン。これにより、中断したい例外を選択できるウィンドウが開きます。

JUnitテストで問題が発生した場合は、デバッグモードでテストを起動する必要があります。 JUnitのRerunボタンは「通常」モードで実行されます。 デバッグでテストを実行するには、ファイルを右クリックし、メニューから[デバッグ - > JUnitテスト]を選択します。

+1

洞察に感謝します。私はDebug as - > JUnit Testをやっています。ブレークポイントで停止していますが、例外ではありません。 JUnitは例外を(おそらく何らかのtry/catchブロックで)呑み込んでいるようです。コードはjunit.framework.TestCaseのサブクラスです。例外は "int i = 1/0;"によって発生します。テスト用。 – User1

+1

私は間違いなくあなたの問題を再現することができます。私は前にこの行動をしたことはなかった。私は、3.5リリースノートで次のコメントを発見しました。開発者がSunの1.6.0_14仮想マシン上でアプリケーションをデバッグする場合、ブレークポイントが信頼できない(つまり、実行を中断しない)ことに注意してください。この問題はWindowsおよびLinuxプラットフォームで発生します。この時点では、EclipseではなくVMに問題があるようです。回避策は、1.6.0_13仮想マシンを使用することです。 (バグ279137)。 – Aaron

+0

あなたの側でそれを修正しましたか?私は1.6.0_13を試しましたが、何も変更されませんでした。私はかなりダウングレードが効いていると確信していますが、確かな検証方法はありません。 – User1

3

ThorbjørnRavn Andersen氏によると、Eclipse Ganymede以降のデフォルトの動作です。それが有効になっていない場合
、後藤
Window->Preferences
Java->Debug
[X] Suspend execution on uncaught exceptions

それは非常に便利だが、それは迷惑なことなので、あなたのための最良の選択肢だ、何を理解しようとするかもしれません。

関連する問題