我正在使用Selenium和Java编写测试。我想知道是否有什么方法可以在调试模式下运行代码,然后如果代码中存在任何问题,我暂停应用程序,对其进行修复,重新编译它,然后从暂停的位置运行它。我的IDE是Eclipse Mars。
最佳答案
是的,但仅在少数情况下对代码所做的更改很小。您在说的是所谓的热代码替换。以下解释来自Eclipse Wiki。
热代码替换(HCR)是Eclipse的一种调试技术
Java调试器通过调试通道将新的类文件传输到
另一个JVM。对于Eclipse开发,这也适用于
运行运行时工作台的VM。这个想法是,你可以开始
在给定的运行时工作台上进行调试会话并更改Java
文件放在开发工作台中,调试器将替换
运行中的接收VM中的代码。无需重新启动,
因此提到“热”。
HCR已作为Java的标准技术专门添加到
促进实验开发并促进迭代
反复试验编码。仅当类签名起作用时,HCR才起作用
不变;您不能删除字段或将字段添加到现有类,因为
实例。但是,可以使用HCR更改方法的主体。 HCR
仅在1.4.1 VMs和更高版本上或使用任何
J9 VM的版本。 J9在IBM产品中可用,例如
Websphere Studio Device Developer™。
如果即使在简单的Java应用程序中HCR对您也不起作用,并且您
已确认您正在支持的VM上运行该应用程序
(请注意,运行Eclipse的JVM可能与
运行Java应用程序的JVM),您可能没有自动
建筑物已开启。 确保“项目>自动生成”为
检查。