在Eclipse中,如果在“Debug”下运行程序,则可以对代码进行更改,并且大部分时间它将立即生效。
有时,它不会 - 在这种情况下它会弹出一条消息,或者在“调试”窗格中的线程旁边说“(可能不同步)”。
什么决定了可以热插拔的更改类型?我注意到这些更改通常会失败:
但有时似乎几乎是随机的。确定是否可以替换代码的逻辑是什么?
答案 0 :(得分:9)
方法语句(程序代码)工作。与添加,删除或更改类模式相关的所有内容都不起作用。所以不要修改继承,字段,提取方法,更改签名等。
如果您同时禁止任何操作,通常热交换方法语句不起作用。然后,热交换连接被“破坏”,所以说。
我不确定的一件事是匿名课程。从未尝试过与热交换相关的内容。
编辑:zeroturnaround那边的人已经在他们的功能部分编译了一个列表,jvm调试器无法开箱即可推广他们的产品:http://www.zeroturnaround.com/jrebel/features/。无论您是否喜欢该工具,该列表都反映了我的经验。