Difference between revisions of "FAQ What is hot code replace?"
Line 6: | Line 6: | ||
workbench, and the debugger will replace the code in the receiving | workbench, and the debugger will replace the code in the receiving | ||
VM while it is running. No restart is required, hence the reference to “hot.” | VM while it is running. No restart is required, hence the reference to “hot.” | ||
− | |||
− | |||
HCR has been specifically added as a standard technique to Java | HCR has been specifically added as a standard technique to Java | ||
Line 17: | Line 15: | ||
any version of the IBM J9 VM. J9 is available in IBM products such as | any version of the IBM J9 VM. J9 is available in IBM products such as | ||
Websphere Studio Device Developer™. | Websphere Studio Device Developer™. | ||
− | |||
− | |||
− | |||
− | |||
Revision as of 08:14, 15 March 2007
Hot code replace (HCR) is a debugging technique whereby the Eclipse debugger transmits new class files over the debugging channel to another VM. In the case of Eclipse development, this also applies to the VM that runs the runtime workbench. The idea is that you can start a debugging session on a given runtime workbench and change a Java file in your development workbench, and the debugger will replace the code in the receiving VM while it is running. No restart is required, hence the reference to “hot.”
HCR has been specifically added as a standard technique to Java to facilitate experimental development and to foster iterative trial-and-error coding. HCR only works when the class signature does not change; you cannot remove or add fields to existing classes, for instance. However, HCR can be used to change the body of a method. HCR is reliably implemented only on 1.4.1 VMs and later, or using any version of the IBM J9 VM. J9 is available in IBM products such as Websphere Studio Device Developer™.
See Also:
The WSDD Web site (http://ibm.com/software/wireless/wsdd/)
This FAQ was originally published in Official Eclipse 3.0 FAQs. Copyright 2004, Pearson Education, Inc. All rights reserved. This text is made available here under the terms of the Eclipse Public License v1.0.