La depuración de grabación y reproducción es el proceso de registrar la ejecución de un programa de software para que pueda reproducirse dentro de un depurador para ayudar a diagnosticar y resolver defectos. [1] El concepto es análogo al uso de un registrador de datos de vuelo para diagnosticar la causa de un mal funcionamiento en el vuelo de un avión. [2]
Los depuradores de grabación y reproducción registran el estado de la aplicación en cada paso del proceso del programa y la ejecución del subproceso, incluidas las interacciones de la memoria, las entradas deterministas y no deterministas, el estado de los recursos del sistema y lo almacenan en el disco en un registro. [3] La grabación permite reproducir el programa una y otra vez y depurarlo exactamente como sucedió.
Las grabaciones se pueden realizar en una ubicación y reproducir en otra, [4] lo que las hace útiles para la depuración remota.
La depuración de grabación y reproducción es particularmente útil para depurar defectos intermitentes y no deterministas, que pueden ser difíciles de reproducir.
La tecnología de depuración de grabación y reproducción suele ser fundamental para la depuración inversa y la depuración de viajes en el tiempo .