2011-11-28 6 views
2

Eclipseでのデバッグ時に「時間を短縮する」方法はありますか?例えばEclipseでのデバッグ時の時間の短縮

、あなたは以下のコードのデバッグしていると仮定しますのThread.sleep()メソッドが到達したとき、あなたが継続できるようになる前に1分を待たなければならない...

someFun(); 
Thread.sleep(ONE_MINUTE); 
someOtherFun(); 

をデバッグ「時間を早くする」方法があり、sleep()メソッドがすぐに戻りますか? (私はこのスピードアップが実際に危険なことがあると理解していますが、プログラムの正確さを妨げないものとしましょう)

次の代替手段はThread.sleep()にラップし、デバッグ私はこのフラグを変更することを避けたいと思います。

+0

Javaを使用しているとしますか? – Gabe

+0

はい、私はJavaを使用しています。 – Aaron

答えて

1

Thread.sleepが実行される直前に、値の変更オプションを使用して変数ビューからONE_MINUTEの値を変更できます。これは最終的なフィールドでは機能しないようです。

もう1つの方法として、別の方法で呼び出しをスリープ状態にすることができます。また、メソッドから「強制終了」することもできます。

2

アプリケーションがデバッグモードで起動されているかどうかを調べることができます。それに応じて、睡眠時間を変更することができます。しかし気をつけてください。特にthread.sleep()を使用している場合は特にそうです。アプリケーションはユースケースによって異なる動作をする可能性があります。

public static final int ONE_SECOND = 1000; 
public static final int ONE_MINUTE = 60 * ONE_SECOND; 
public static final int SLEEP_TIME = (java.lang.management.ManagementFactory.getRuntimeMXBean(). 
    getInputArguments().toString().indexOf("-agentlib:jdwp") > 0)?ONE_SECOND:ONE_MINUTE;