Depuración de viajes en el tiempo - Registro de un rastreo
En esta sección se describe cómo registrar rastreos de depuración de viajes en el tiempo (TTD). Hay dos formas de registrar un rastreo en WinDbg, Iniciar ejecutable (avanzado) y Asociar a un proceso.
Iniciar ejecutable (avanzado)
Para iniciar un ejecutable y registrar un rastreo de TTD, siga estos pasos.
En WinDbg, seleccione Archivo>Iniciar depuración>Iniciar ejecutable (avanzado).
Introduzca la ruta del ejecutable en el modo de usuario que desea registrar o seleccione Examinar para navegar hasta el ejecutable. Para obtener información sobre cómo trabajar con el menú Iniciar ejecutable en WinDbg, consulte WinDbg - Iniciar una sesión en modo usuario.
Marque la casilla Registrar con depuración de viajes en el tiempo para registrar un rastreo cuando se inicie el ejecutable.
Si selecciona Configurar y registrar, podrá configurar una ubicación para el archivo de rastreo.
Para limitar la el registro a módulos específicos, marque "Registrar subconjunto de ejecución" e introduzca los nombres de los módulos. Por ejemplo, si solo desea registrar la ejecución de notepad.exe, escriba "notepad.exe" en el cuadro de texto. Si desea registrar la ejecución de notepad.exe y kernelbase.dll, escriba "notepad.exe,kernelbase.dll" en el cuadro de texto.
Seleccione Aceptar para iniciar el ejecutable e iniciar la grabación.
Aparece el cuadro de diálogo de registro indicando que se está registrando el rastreo.
Consulte Cómo registrar para obtener información sobre el registro.
Asociación a un proceso
Para asociar a un proceso y registrar un rastreo de TTD, siga estos pasos.
En WinDbg, seleccione Archivo>Iniciar depuración>Asociar a proceso.
Seleccione el proceso en modo usuario que desea rastrear. Para obtener información sobre cómo trabajar con el menú Asociar a un proceso en WinDbg, consulte WinDbg - Iniciar una sesión en modo de usuario.
Marque la casilla Registrar proceso con depuración de viajes en el tiempo para crear un rastreo cuando se inicie el ejecutable.
Seleccione Asociar para empezar a registrar.
Aparece el cuadro de diálogo de registro indicando que se está registrando el rastreo.
Consulte Cómo registrar para obtener información sobre el registro.
Cómo registrar
El proceso se está registrando, por lo que aquí es donde debe causar el problema que desea depurar. Puede abrir un archivo problemático o seleccionar un botón específico en la aplicación para que se produzca el evento de interés.
Mientras se muestra el cuadro de diálogo de registro, puede:
- Detener y depurar - Al elegir esto, se detendrá el registro, se creará el archivo de rastreo y se abrirá el archivo de rastreo para que pueda iniciar la depuración.
- Cancelar - Al elegir esta opción se detendrá el registro y se creará el archivo de rastreo. Puede abrir el archivo de rastreo más adelante.
Una vez completada la grabación, cierre la aplicación o pulse Detener y depurar.
Nota:
Tanto Detener y depurar y Cancelar finalizarán el proceso asociado.
Cuando la aplicación que se está registrando finaliza, el archivo de rastreo se cerrará y se escribirá en el disco. Este es el caso si su programa también se bloquea.
Cuando se abre un archivo de rastreo, el depurador lo indexará automáticamente. La indexación permite realizar búsquedas de valores de memoria más precisas y rápidas. Este proceso de indexación tardará más en el caso de archivos de rastreo de mayor tamaño.
... 00007ffc`61f789d4 c3 ret 0:000> !index Indexed 1/1 keyframes Successfully created the index in 96ms.
Nota:
Un fotograma clave es una ubicación en un rastreo que se utiliza para indexar. Los fotogramas clave se generan automáticamente. Los rastreos más grandes contendrán más fotogramas clave. Cuando se indexa el rastreo, se muestra el número de fotogramas clave.
En este punto se encuentra al principio del archivo de rastreo y estás listo para viajar hacia adelante y hacia atrás en el tiempo.
Sugerencia
El uso de puntos de interrupción es un enfoque común para detener la ejecución de código en algún evento de interés. Exclusivamente en TTD, puede establecer un punto de interrupción y viajar hacia atrás en el tiempo hasta que ese punto de interrupción se alcance después de que se haya registrado el rastreo. La capacidad de examinar el estado del proceso después de que se haya producido un problema, para determinar la mejor ubicación para un punto de interrupción, permite flujos de trabajo de depuración adicionales. Para ver un ejemplo de uso de un punto de interrupción en el pasado, consulte Depuración de viajes en el tiempo - Recorrido de la aplicación de ejemplo.
Pasos siguientes
Ahora que ha registrado un rastreo de TTD, puede volver a reproducir el rastreo o trabajar con el archivo de rastreo, por ejemplo, compartiéndolo con un compañero de trabajo. Para obtener más información, consulte estos temas.
Depuración de viajes en el tiempo - Reproducción de un rastreo
Depuración de viajes en el tiempo - Trabajo con archivos de rastreo
Depuración de viajes en el tiempo - Solución de problemas
Depuración de viajes en el tiempo - Tutorial de la aplicación de ejemplo