2011-12-08 24 views
11

Estoy usando Eclipse IDE (versión de Helios) Al depurar en Eclipse, ¿es posible editar el código fuente y continuar con la depuración?Eclipse: edite el origen y continúe depurando

Por ejemplo, tengo este archivo Al depurar cuando intenté modificar el valor de a4 durante la depuración no se refleja ??

public class Tes { 

    public static void main(String args[]) { 
     int a4 = 15; 

     for (int i = 0; i < a4; i++) { 
      System.out.println(i); 
     } 

    } 
} 

Respuesta

8

Sí es posible editar el código fuente y continuar con la depuración en Eclipse! Encontrará información detallada aquí: Debugging with the Eclipse Platform (desplácese hasta la sección Corrección de errores de Hotswap: código al vuelo que soluciona).

Si está ejecutando la máquina virtual V1.4 Java (JVM) o superior, Eclipse es compatible con una función llamada de intercambio en funcionamiento corrección de errores (no disponible en JVM V1.3 o inferior). Permite cambiar el código fuente durante una sesión del depurador , que es mejor que salir de la aplicación, cambiando el código, recompilando y luego iniciando otra sesión de depuración . Para usar esta función, simplemente cambie el código en el editor y reanude la depuración.

En algunos casos, la característica no funcionará. P.ej. si realiza cambios en la variable main del método a4, la JVM no podrá eliminar todas las tramas de pila que ejecuten código antiguo de la pila de llamadas. Los datos del depurador se perderán.

Para ver la función de Hotswap Bug Fixing JVM en acción, basta con mover el código de su método en la clase mainTest a alguna otra clase. Esto es lo que quiero decir:

Hotswap Bug Fixing in Action

Ahora puede modificar el código sobre la marcha durante la depuración en la clase MyObject. ¡Que te diviertas!

EDIT: acaba de encontrar una pregunta similar en superuser.com: Debugging in Eclipse, how to run until a breakpoint

0

Si lo que desea es cambiar el valor de a5 durante la depuración su mucho más fácil que cambiar la fuente. Puede establecer un nuevo valor en la vista de variables que puede ver en la perspectiva de depuración en Eclipse.

Consulte el manual here y here

1

Si le sucede que se ejecuta la aplicación utilizando una JVM 1.3 o versiones superiores, hay un paso final con el depurador todavía en marcha: -> cambie la línea del problema - en su caso "valor a4" y luego Guarde el archivo, luego presione el botón Reanudar para que la aplicación vuelva a funcionar.

Este guardado de ese archivo java en particular que ha editado durante la depuración, hará que la sesión continúe depurando desde el inicio (Constructor) del archivo con nuevos valores.

Esta edición y guardado se puede realizar n cantidad de veces, y una vez que lo guarde, la sesión de depuración se reanudará automáticamente desde el inicio de ese archivo en particular.

Cuestiones relacionadas