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.