2009-12-10 12 views

Respuesta

6

La nueva característica del depurador histórico IntelliTrace en Visual Studio 2010 parece ajustarse a lo que está pidiendo. Ver Debugging With IntelliTrace:

Depuración con IntelliTrace, disponible en Microsoft Visual Studio 2010 último, proporciona una imagen mejorada de su aplicación en comparación con depuradores tradicionales. Los depuradores tradicionales le muestran el estado de su aplicación en el momento actual con información limitada sobre eventos que ocurrieron en el pasado . Debe inferir eventos que ocurrieron en el pasado , según el estado de su aplicación en el momento actual, o reiniciar la aplicación para volver a crear eventos pasados. Con IntelliTrace, usted puede ver los eventos que ocurrieron en el pasado y el contexto en el que ocurrieron .Esto reduce el número de reinicios que se requieren para depurar su aplicación y la posibilidad de que no se reproduzca un error cuando vuelva a ejecutar la aplicación.

-1

Nunca he usado un depurador con la capacidad de retroceder. Acabo de hacer una búsqueda en Google y no encontré mucho ...

encontré esto: http://video.google.com/videoplay?docid=3897010229726822034

La búsqueda de "Bill Lewis depurador" me llevó a: http://undo-software.com/undodb_about.html

La capacidad de un paso atrás implica preservar un montón de estado: si cambia una variable en una línea de código, y luego desea retroceder, es de suponer que la variable debería volver a su valor anterior. Si cambia un registro, debería volver a su valor anterior, y eso incluye el registro de banderas. Si asignó la memoria, presumiblemente debería ser desasignada. Y así. Es un gran trabajo en general. Parece que este depurador está utilizando la tecnología de copiar y escribir para hacer todo esto. Supongo que si una máquina virtual como VirtualBox es posible, también lo es.

Esto todavía no es una función principal. Una característica I tiene que se ve comúnmente es la capacidad de "establecer la siguiente línea". Digamos que llamas a una función y devuelve un valor que te sorprende; configura la "línea siguiente" a la línea antes de la función y luego realiza un solo paso en la función. El depurador de Microsoft Visual Studio puede hacer esto y también gdb (el comando jump). Esta capacidad es de uso limitado si la función corrompió la pila. Entonces, ¡realmente necesitas comenzar de nuevo!

Las computadoras se han vuelto tan rápidas, que es mucho menos doloroso volver a empezar desde el principio de lo que solía ser. Puede establecer un punto de interrupción antes del punto donde desea regresar y volver a ejecutar el programa desde el principio.

0

Dr. Scheme, también conocido como PLT Scheme, le permitirá avanzar y retroceder en un programa Scheme. Apoyo completo para mantener el estado, por lo que puedo decir, aunque no lo he usado demasiado. Se ejecuta en Windows, Mac y Linux.

1

Chronon para Java soporta completa dando un paso atrás y ver información de estado de todo en cualquier punto en el tiempo.

1

PythonTutor (http://pythontutor.com/) Le permite hacer esto para ejemplos de código pequeño en varios lenguajes de programación.

Cuestiones relacionadas