デバッグ中にHotSwap機能を使用すると、アプリケーションを停止したり再起動せずに、エラーを修正し、修正されたクラス定義を置き換えることができます。HotSwapは、Java 2 SDK v1.4のJava Platform Debugger Architecture(JPDA)の拡張機能で、JDeveloperのJava Virtual Machine(OJVM)に実装されています。
デバッガの一時停止中に、クラスを再コンパイルできます。コードがホットスワップされた後にデバッガが再開すると、古いメソッド定義を現在実行しているスレッドは、そのメソッドが戻るまで実行を続行します。後続のメソッド・コールでは、クラス定義が使用されます。ただし、クラスの既存のインスタンスは変更されず、クラス変数もリセットされません。クラス・メソッドのロジックを変更するには、HotSwapを使用してください。フィールドやメソッドの追加または削除など大幅な変更を行う場合は、ほとんどの場合、HotSwapは使用できません。
デバッグ中にクラスを再定義するには、次のようにします。
クラスのソース・コードを編集します。
デバッガのログ・ウィンドウに、再定義が正常に終了したかどうかを示すメッセージが表示されます。
デバッガのツールバーで をクリックして、実行を再開します。
古いメソッド定義を現在実行しているスレッドは、そのメソッドが戻るまで実行を続行します。後続のメソッド・コールでは、新しいクラス定義を使用して実行が再開されます。
Copyright © 1997, 2007, Oracle. All rights reserved.