Compartilhar via


Teste e depuração de TDR durante o desenvolvimento do driver

Este artigo fornece estratégias de teste e depuração de TDR (detecção e recuperação de tempo limite) para desenvolvedores de driver de exibição.

Testes de TDR no WHLK

O WHLK ( Windows Hardware Lab Kit ) contém testes específicos de TDR que os desenvolvedores de driver podem usar para fins de teste e depuração. Por exemplo, os desenvolvedores podem disparar manualmente um TDR de GPU usando o TDR SimulatePreemption. Consulte Device.Graphics para obter mais informações sobre os vários testes relacionados à TDR.

Chaves do Registro TDR para teste e depuração

Os desenvolvedores podem usar as seguintes chaves de registro relacionadas a TDR para fins de teste ou depuração somente durante o processo de desenvolvimento do driver.

Importante

Essas chaves do Registro não devem ser manipuladas por usuários finais ou por aplicativos fora de testes ou depuração direcionados durante o desenvolvimento do driver.

TdrLevel

Especifica o nível inicial de recuperação.

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

Em que TdrLevelXxx pode ser um dos seguintes valores:

Valor Significado
TdrLevelOff (0) Detecção desabilitada
TdrLevelBugcheck (1) Bug marcar no tempo limite detectado; por exemplo, sem recuperação.
TdrLevelRecoverVGA (2) Recuperar para VGA (não implementado).
TdrLevelRecover (3) Recuperar no tempo limite (valor padrão).

TdrDelay

Especifica o número de segundos que a GPU pode atrasar a solicitação preempt do agendador de GPU. TdrDelay é efetivamente o limite de tempo limite.

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 o número de segundos que o sistema operacional permite que os threads saiam do driver. Após um horário especificado, o sistema operacional verifica o computador com o 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 o comportamento relacionado à depuração do processo TDR. O valor padrão é TDR_DEBUG_MODE_RECOVER_NO_PROMPT, o que indica não dividir no 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) Interrompa o depurador de kernel antes da recuperação para permitir a investigação do tempo limite.
TDR_DEBUG_MODE_IGNORE_TIMEOUT (1) Ignore qualquer tempo limite.
TDR_DEBUG_MODE_RECOVER_NO_PROMPT (2) Recuperar sem invadir o depurador (valor padrão).
TDR_DEBUG_MODE_RECOVER_UNCONDITIONAL (3) Recupere mesmo que algumas condições de recuperação não sejam atendidas (por exemplo, recuperar em tempos limite consecutivos).

TdrLimitTime

Especifica o tempo padrão no qual um número específico de TDRs (especificado pela chave TdrLimitCount ) é permitido sem falhar no computador.

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 o número padrão de TDRs (0x117) que são permitidos durante o tempo especificado pela chave TdrLimitTime sem travar o computador.

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. Não use.

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