Prueba y depuración de TDR durante el desarrollo de controladores

En este artículo se proporcionan pruebas y estrategias de depuración de TDR (detección de tiempo de espera y recuperación) para desarrolladores de controladores de visualización.

Pruebas de TDR en WHLK

El Kit de laboratorio de hardware de Windows (WHLK) contiene pruebas específicas de TDR que los desarrolladores de controladores pueden usar para fines de prueba y depuración. Por ejemplo, los desarrolladores pueden desencadenar manualmente un TDR de GPU mediante simulatePreemption TDR. Consulte Device.Graphics para obtener más información sobre las distintas pruebas relacionadas con TDR.

Claves del Registro de TDR para pruebas y depuración

Los desarrolladores pueden usar las siguientes claves del Registro relacionadas con TDR para pruebas o depuración solo durante el proceso de desarrollo de controladores.

Importante

Los usuarios finales no deben manipular estas claves del Registro ni las aplicaciones fuera de las pruebas o depuraciones dirigidas durante el desarrollo de controladores.

TdrLevel

Especifica el nivel inicial de recuperación.

KeyPath   : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue  : TdrLevel
ValueType : REG_DWORD
ValueData : TdrLevelXxx (see the following table)

Donde TdrLevelXxx puede ser uno de los siguientes valores:

Valor Significado
TdrLevelOff (0) Detección deshabilitada
TdrLevelBugcheck (1) Comprobación de errores en el tiempo de espera detectado; por ejemplo, sin recuperación.
TdrLevelRecoverVGA (2) Recuperar a VGA (no implementado).
TdrLevelRecover (3) Recuperar en el tiempo de espera (valor predeterminado).

TdrDelay

Especifica el número de segundos que la GPU puede retrasar la solicitud de adelantamiento del programador de GPU. TdrDelay es eficazmente el umbral de tiempo de espera.

KeyPath   : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue  : TdrDelay
ValueType : REG_DWORD
ValueData : Number of seconds to delay. The default value is 2 seconds.

TdrDdiDelay

Especifica el número de segundos que el sistema operativo permite que los subprocesos salgan del controlador. Después de una hora especificada, el sistema operativo comprueba el equipo con el código VIDEO_TDR_FAILURE (0x116).

KeyPath   : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue  : TdrDdiDelay
ValueType : REG_DWORD
ValueData : Number of seconds to leave the driver. The default value is 5 seconds.

TdrDebugMode

Especifica el comportamiento relacionado con la depuración del proceso de TDR. El valor predeterminado es TDR_DEBUG_MODE_RECOVER_NO_PROMPT, lo que indica que no se va a dividir en el depurador.

KeyPath   : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue  : TdrDebugMode
ValueType : REG_DWORD
ValueData : TDR_DEBUG_MODE_XXX (see the following table)
Valor Significado
TDR_DEBUG_MODE_OFF (0) Interrumpa en el depurador de kernel antes de la recuperación para permitir la investigación del tiempo de espera.
TDR_DEBUG_MODE_IGNORE_TIMEOUT (1) Omita cualquier tiempo de espera.
TDR_DEBUG_MODE_RECOVER_NO_PROMPT (2) Recuperar sin dividir en el depurador (valor predeterminado).
TDR_DEBUG_MODE_RECOVER_UNCONDITIONAL (3) Recupere incluso si no se cumplen algunas condiciones de recuperación (por ejemplo, recuperarse en tiempos de espera consecutivos).

TdrLimitTime

Especifica la hora predeterminada en la que se permite un número específico de TDR (especificado por la clave TdrLimitCount ) sin bloquear el equipo.

KeyPath   : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue  : TdrLimitTime
ValueType : REG_DWORD
ValueData : Number of seconds before crashing. The default value is 60 seconds.

TdrLimitCount

Especifica el número predeterminado de TDR (0x117) que se permiten durante el tiempo especificado por la clave TdrLimitTime sin bloquear el equipo.

KeyPath   : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue  : TdrLimitCount
ValueType : REG_DWORD
ValueData : Number of TDRs before crashing. The default value is 5.

TdrTestMode

Reservado. No lo use.

KeyPath   : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue  : TdrTestMode
ValueType : REG_DWORD
ValueData : Do not use.