19

Notch がEclipseのこのビデオで話しているこの「実行時のデバッグ」を有効にするにはどうすればよいですか?

テストとして、次のコードの出力を編集して、実行中に「Hello Runtime Debugging」に変更できるようにしたいと考えています。

public class HelloWorld {
    public static void main(String[] args) throws InterruptedException {
        doIt();     
    }

    private static void doIt() throws InterruptedException {
        for (int i = 0; i < 1000; ++i) {
            System.out.println("Hello World " + i);
            Thread.currentThread().sleep(100);
        }
    }
}

編集:コードを修正したところ、探していた結果が得られました。以下のSuraj Chandranの回答はそれを説明しています。

private static void doIt() throws InterruptedException {
    for (int i = 0; i < 1000; ++i) {
        print(i);
        Thread.currentThread().sleep(100);
    }
}

private static void print(int i) {
    System.out.println("Hello Sir " + i);
}
4

4 に答える 4

30

Eclipse は、デフォルトでデバッグ中のコードのホットスワップをサポートしています。

デバッグ中にコードを変更して保存するだけで、Eclipse は変更されたコードをターゲット VM に自動的に転送します。

新しいメソッドの追加、メソッド シグネチャの変更、新しいフィールドの追加など、コードに構造的な変更を加えることはできないことに注意してください。ただし、メソッド内のコードは変更できます。

編集:デバッグ中にコードを変更すると、そのメソッドが最初から再実行され、そのメソッドのローカル変数がリセットされることに注意してください。

于 2012-09-30T12:13:08.177 に答える
11

[プロジェクト] > [自動的にビルド]がオンになっていることを確認する必要があります。そうしないと、動作しない可能性があります。

于 2014-09-17T06:24:25.507 に答える
2

Project-> Build Automatically を有効にした後、デバッグ モードでのコードのホット スワップは問題ありません

于 2016-02-18T02:50:35.250 に答える
1

質問を誤解しているかもしれませんが、Eclipse でプログラムをデバッグ モード (Run/Debug) で実行すると、プログラムの実行中にメソッドの内容を編集できます (JVM がサポートしている場合)。通常、インポート、メソッド シグネチャ、クラス定義などを変更することはできません。メソッドの内容だけを変更することはできません。

于 2012-09-30T12:09:49.460 に答える