En Eclipse, si ejecuta un programa en "Depurar" puede realizar cambios en el código, y la mayoría de las veces tendrá efecto inmediatamente.En el depurador de Eclipse, ¿qué tipo de cambios se pueden reemplazar en la JVM en ejecución?
A veces, sin embargo, no aparece, en cuyo caso aparece un mensaje o dice "(puede estar desincronizado)" junto a los hilos en el panel Depurar.
¿Qué determina el tipo de cambios que se pueden intercambiar en caliente? me he dado cuenta de estos cambios suelen fallar:
- introducción de nuevas clases internas anónimas
- cambio de clases (el cambio de nombre/añadir/quitar campos y métodos) cuando la clase se instancia
- adición de un bloque try-catch
pero a veces parece ser casi aleatorio. ¿Cuál es la lógica detrás de determinar si el código puede ser reemplazado o no?
+1 para JRebel, me encanta esa cosa – Andy