El depurador de viaje en el tiempo de Microsoft: Una inmersión profunda en TTD

2025-03-13
El depurador de viaje en el tiempo de Microsoft: Una inmersión profunda en TTD

El Time Travel Debugging (TTD) de Microsoft es un potente marco de grabación y reproducción en modo usuario que permite a los desarrolladores depurar programas como si estuvieran navegando en una línea de tiempo. Inyecta un DLL para capturar todos los estados de la ejecución de un proceso, almacenándolos en un archivo .trace. El núcleo es el motor de tiempo de ejecución Nirvana, que emula instrucciones de CPU para un control de grano fino. Incluso con desafíos como operaciones de punto flotante, modelos de memoria, emulación de periféricos y código automodificable, Nirvana utiliza la traducción binaria dinámica y las técnicas de almacenamiento en caché de código para lograr eficiencia y precisión. El artículo describe un error encontrado al depurar un archivo PE de 32 bits ofuscado usando TTD, destacando la ventaja de usar el propio archivo de rastreo de TTD para la depuración.