La depuración mediante grabación y reproducción es el proceso de grabar 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 una grabadora de datos de vuelo para diagnosticar la causa de un mal funcionamiento del vuelo de un avión. [2]
Los depuradores de registro y reproducción registran el estado de la aplicación en cada paso del proceso del programa y la ejecución del hilo, incluidas las interacciones de 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 por 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 .