2009-06-21 19 views

Respuesta

11

IntelliJ interactúa con una JVM en ejecución a través de la interfaz de depuración de Java estándar, por lo que puede depurar programas contra diferentes JDK. Esto no permite mover el punto de ejecución como lo describe.

Te deja enrollar la pila de llamadas y realizar una llamada a método nuevamente. En IntelliJ, use la ventana de hilos para seleccionar un marco de pila de un hilo suspendido y devuélvalo. Luego continúe el hilo para volver a llamar al método en ese punto del programa.

Nota: esto no hará retroceder el estado de los objetos, por lo que pueden producirse efectos extraños.

+22

Maldita sea Visual Studio, ¿por qué tienes que ser tan increíble? : P – dialex

+0

Estaba buscando formas de reanudar el puntero de depuración al inicio del método. no hay forma de 'volver a llamar' el método. para mí, solté el cuadro superior y volví a ejecutar la función. – zinking

-7

Java no tiene un puntero de ejecución actual que pueda apuntar a un fragmento de código aleatorio. Java supone que el orden de ejecución está en el código, no algo que manipularías.

Quizás podría explicar por qué querría hacer esto y le podemos decir otra forma de lograr lo mismo.

+5

Es muy útil depurar :) – ripper234

+0

¿Puedes dar un ejemplo? –

+9

Un ejemplo sería cuando tiene un error en el código que le impide ejecutar más, pero no le preocupa en este momento, así que solo quiere omitir esa parte. O bien, desea omitir una parte del código para ver qué sucedería si no se ejecuta (por ejemplo, para probar que una suposición es correcta) y para hacerlo sin volver a compilar todo. – axk

-2

Puede indicarle al depurador que "Avance a línea".

2

En Eclipse, si edita un método que se depura y hace que se actualice el código depurado, la JVM retrotrae la ejecución al primer lugar seguro. Por lo general, esta es la primera línea en ese método.

Es muy útil en un escenario de depuración.

Cuestiones relacionadas