1

コードが特定のポイントに達したときにEclipseまたはIDEがコードの実行を停止し、デバッガーを開始できるようにするキーワードがJavaにあるかどうか興味があります。

この特定の問題に対してブレークポイントが非常に役立つことは理解していますが、特定の条件に達した場合にのみプログラムのデバッグを開始したいと考えており、この条件はプログラムによって定期的にチェックされていないため、プログラムする必要があります純粋にデバッグ用です。

例えば、

if(condition_is_met){
    //throw debugger and begin to step through here
}

私が考えることができる唯一の他の方法は...

if(condition_is_met){
    System.out.println("Something"); //Then set a breakpoint here in Eclipse.
}

これは面倒なようで、後でコードをクリーンアップするときに見逃す可能性があります。Javaには、おそらくJavascriptのdebuggerキーワードに似たキーワードがありますか?

4

4 に答える 4

6

キーワードはありませんが、Eclipse で条件付きデバッグを指定できます。

以下を確認してください

  1. FAQ 条件付きブレークポイントを設定するにはどうすればよいですか?
  2. 効果的なデバッグ: 条件付きブレークポイント
于 2012-10-10T11:58:12.850 に答える
4

ユーティリティ クラスを作成します。

public final class DebugHelper {
    public final static void breakpoint() {} // Set break point here
}

DebugHelper.breakpoint()その後、Eclipse を停止させたいすべての場所で使用できます。

実行時に、メソッドは最終的に JIT によって何も置き換えられないため (デバッグが無効になっている場合)、頻繁に使用されるコードは自由です。

このアプローチには、次の 2 つの利点があります。

  1. このコードをそのままにしても問題ありません
  2. 削除したい場合は、簡単に見つけることができます (ワークスペースでメソッドのすべての参照を検索するだけです)。
于 2012-10-10T12:03:27.717 に答える
2

Java には、Eclipse デバッガーを開始するようなキーワードはありません。Java は Eclipse 用ではありませんが、その逆であることを忘れないでください。そのようなことが必要な場合は、Eclipse のブレーク ポイント プロパティ ウィンドウから設定できる Eclipse の条件付きブレーク ポイントを使用します。

于 2012-10-10T11:56:47.247 に答える
1

Eclipse には条件付きブレークポイントがあります。左側のエディター マージンまたは [デバッグ] パースペクティブの [ブレークポイント] ビューにあるブレークポイントのコンテキスト メニューを使用して、ブレークポイントのプロパティを選択します。ダイアログ ボックスで、[条件を有効にする] をオンにし、list.size()==0 などの任意の Java 条件を入力します。

(から: http://wiki.eclipse.org/FAQ_How_do_I_set_a_conditional_breakpoint%3F )

于 2012-10-10T11:59:15.050 に答える