2012-02-01 19 views

Respuesta

10

Los únicos que conozco son

+3

Desafortunadamente, [no puedo hacer que Omniscient Debugger funcione en absoluto] (http://stackoverflow.com/questions/9686946/how-to-use-omniscient-debugger) en Java 6, Jive es al menos un orden de magnitud más lento que Chronon, Whyline no se mantiene y es "muy defectuoso", y Diver no lo intenté, pero parece un juguete. Por lo tanto, no creo que ninguna de estas opciones sean reemplazos de calidad de producción para Chronon. Sin embargo, pueden ser útiles para fines educativos y de investigación. –

5

Los depuradores Omniscient registran los datos de seguimiento para realizar consultas posteriormente. A menudo también se denominan depuradores de inversión, retroceso en el tiempo, bidireccionales o de viaje en el tiempo, pero prefiero reservar esos términos para los depuradores que permiten la inversión real en un programa en vivo.

TOD es un depurador omnisciente open-source para Java.

JIVE es otro depurador omnisciente gratuito para Java, aunque no de código abierto.

El depurador de GNU, gdb. Tiene dos modos, uno es process record and replay, el otro es verdadero reverse debugging. Es extremadamente lento, ya que deshace instrucciones de una sola máquina a la vez.

Y para Python, el prototipo depurador de python extendido, epdb, es también un verdadero depurador inverso. Aquí está el thesis y aquí está el program and the code. Utilicé epdb como punto de partida para crear un depurador inverso en vivo como parte de mi título de maestría. La tesis cubre los detalles de la implementación, , así como la mayoría de los enfoques históricos para la eliminación de errores. Está disponible en línea: Combining reverse debugging and live programming towards visual thinking in computer programming.

+0

Creo que la pregunta es pidiendo alternativas para la JVM. Las alternativas para aplicaciones nativas u otros tiempos de ejecución serían una pregunta diferente por completo. –

+1

@RobinGreen No estoy de acuerdo con su enfoque. Aunque su pregunta proporciona dos ejemplos de 'Java DVR', no está etiquetado con Java, sino con 'depuración inversa' en general. Él pide "_ muchas implementaciones de código abierto que ofrecen características similares". Sin embargo, en caso de que se refiriera a Java solamente, los primeros dos elementos en mi respuesta, TOD y JIVE, responden adecuadamente a la pregunta wrt Java. Luego agregué dos más para otros idiomas, en caso de que significara más.Una respuesta integral que cubre lo que el usuario podría haber querido decir, en orden de probabilidad, es un buen enfoque que no debería recibir un voto negativo, en mi opinión – Abraham

+0

@ Abraham Muchas gracias, he estado buscando un depurador reversible para Python durante mucho tiempo, ¡y tanto la EPDB como la tesis serán de gran valor para mí! – gaborous

Cuestiones relacionadas