2013-02-20 12 views
15

Eclipseで、ブレークポイントのないデバッグモードでJavaプログラムを実行し、JVMがNullPointerExceptionにヒットした場合、Eclipseは、ローカル変数などを表示します。実行は一時停止されます。私は、表示タブを使用してコードを評価することができます。Eclipse内の通常のJavaプログラムに似たJUnitテストをデバッグする方法

しかし、デバッグモードでJUnitテストを実行し、jvmがNullPointerExceptionにヒットした場合、jvmは一時停止せず、ローカル変数を参照する機会がありません。

JUnitテストを実行して、ブレークポイントを使用せずにNullPointerExceptionが発生したときにJVMが自動的に一時停止するようにすることはできますか?

編集: あなたは問題がある行をダブルクリックする場合は、JUnitのタブ上でそれを見ることができるのJUnit 4 &ジュノに

+0

私はこれを言う正しい方法は、JUnitテスト内でeclipseの死後デバッグを使用する方法だと思います。 – Eddified

+3

'java.lang.NullPointerException'の例外ブレークポイントを設定するか、スタックトレースで指定された行にブレークポイントを設定しましたか? – beny23

+0

重複した質問が見つかりました:http://stackoverflow.com/questions/13611711/junit-4-and-suspend-on-exception – Eddified

答えて

0

Eclipseが停止しをクリックし

  • 使用デバッグモードをブレークポイントをダブルクリックしてセットスローされた例外はキャッチされず、main()からあなたをぶつけるでしょう。ただし、JUnitフレームワークで実行すると、すべての例外がJUnitによってキャッチされるため、Eclipseは停止しません。

    2つの溶液が頭に浮かぶ:

    • セット例外brekpointをNPEが
    • スローされたときのJUnitによって報告された例外のスタックトレースを使用して例外をスロー行にブレークポイントを設定し停止する(つまり、です1つは私が好む)。
  • 0

    を使用して、あなたはヌル・ポインタ例外の場所に行きますよ起こりました。

    java.lang.NullPointerException  <--First line of the error 
    at.com.myProject.MyClass.myMethod(MyClass.java:theLineOfMyCode) <-- the line that you should double-click 
    

    これを実行すると、エラーの行にリダイレクトされます。

    +4

    私はこれをすべて知っていました。問題は、Exceptionの位置を特定する方法ではなく、Exceptionの時点でJVMの実行を一時停止する方法です。 – Eddified

    2
    1. コード行に

      Eclipseの

    でホバーを実行し、 step overまたは f6

    関連する問題