2012-02-27 14 views
2

私は質問があります。 ブレークポイントを使用せずにホットスワップを使用できますか?Eclipse - Java - ブレークポイントなしのホットスワップ

ノッチがチェンの前奏曲(http://www.youtube.com/user/Nizzotch?feature=playlist-comment#p/u)製の彼がすることなく、ホットスワップを使用: - ブレークポイント を追加 - 保存 - ブレークポイント を削除する - それはそれを見て、あまりにも高速です。このビデオでは を再開しますが、私ができます」古いものを見つける。

アイデアはありますか? eclipse-options、マクロ、プラグイン...?

答えて

1

があなたのJVMによって異なりますが、Eclipseのホットスワップが戻ったJava 1.5の時代に日のHotSpot JVMには何のトリックと私のために働いていただきありがとうございます。ここにはa related Sun's bugがあります。どのJVMを使用していますか?

public class Test { 
    private static int ctr = 0; 
    public static void main(String[] args) { 
     while (true) { 
      method(); 
      try { 
       Thread.sleep(200); 
      } catch (InterruptedException e) { 
       System.err.println("Interrupted"); 
      } 
     } 
    } 

    private static void method() { 
     System.out.println(ctr); 
    } 
} 

私はSystem.out.println(ctr++);System.out.println(ctr);を変え、そして私の出力が増加するシーケンスに変更。

+0

Javaバージョン:1.6.0_30。私はブレークポイントを使うときにホットスワップを使うことができます。しかし、私が保存するときにコードが実行されている場合、私の変更は行われません。 – yohannc

+0

OK、デバッグモードで実行していますか?可能な解決策については、[このような質問](http://stackoverflow.com/questions/2673554/hot-code-replace-not-working-eclipse-doesnt-change-any-code-on-jboss)を参照してください。 –

+0

はい私はデバッグモードで動作し、リンクされた質問とは異なり、変更が適用されます。あなたが見えるように自分自身をテストしてください。プロジェクト、メインメソッド、および別のメソッドを作成します。 2番目の方法では、出力メッセージを無限ループで囲みます。その後、それをデバッグします。メッセージに変更を加えて何も保存しないと、ファイルはリンクされなくなります。だから新しい試みをして、デバッグを起動してください。出力メッセージにブレークポイントを追加し、変更して保存します。今すぐ再開して、それは大丈夫です。しかし、それはノッチが彼のアプリケーションをデバッグするときに比較するとあまりにも多くのステップです。 – yohannc

関連する問題