ドライバー開発時の TDR のテストとデバッグ

このトピックでは、TDR のテストとデバッグの方法について説明します。

WHLK の TDR テスト

Windows ハードウェアラボキット(WHLK) には、ドライバー開発者がテストとデバッグの目的で使用できる TDR 固有のテストが含まれています。 たとえば、開発者は、 SIMULATEPREEMPTION TDRを使用して、手動で GPU TDR をトリガーできます。 さまざまな TDR 関連のテストの詳細については、「 デバイスグラフィック 」を参照してください。

テストとデバッグのためのレジストリキーの TDR

開発者は、ドライバーの開発プロセス中にのみ、テストまたはデバッグのために、次の TDR (タイムアウト検出および回復) 関連のレジストリキーを使用できます。

重要

これらのレジストリキーは、エンドユーザー、またはドライバーの開発中に対象のテストやデバッグの外部にあるアプリケーションによって操作されないようにする必要があります。

TdrLevel

復旧の初期レベルを指定します。

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

ここで、TdrLevelXxx には次のいずれかの値を指定できます。

説明
TdrLevelOff (0) 検出が無効
TdrLevelBugcheck チェック (1) 検出されたタイムアウト時のバグチェックたとえば、回復はありません。
TdrLevelRecoverVGA (2) VGA に復旧します (実装されていません)。
TdrLevelRecover (3) [タイムアウト時に回復する。 これが既定値です。

TdrDelay

Gpu が GPU スケジューラからのプリエンプト要求を遅延できる秒数を指定します。 これは、事実上タイムアウトしきい値です。

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

OS がドライバーを終了するのを許可する秒数を指定します。 指定された時間が経過すると、OS のバグによって、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

TDR プロセスのデバッグ関連の動作を指定します。 既定値は TDR_DEBUG_MODE_RECOVER_NO_PROMPT です。これは、デバッガーを中断しないことを示します。

KeyPath   : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue  : TdrDebugMode
ValueType : REG_DWORD
ValueData : TDR_DEBUG_MODE_XXX (see the following table)
説明
TDR_DEBUG_MODE_OFF (0) 復旧前にカーネルデバッガーを中断して、タイムアウトを調査できるようにします。
TDR_DEBUG_MODE_IGNORE_TIMEOUT (1) タイムアウトを無視します。
TDR_DEBUG_MODE_RECOVER_NO_PROMPT (2) デバッガーを中断せずに復旧します。 これが既定値です。
TDR_DEBUG_MODE_RECOVER_UNCONDITIONAL (3) 一部の回復条件が満たされていない場合でも回復します (たとえば、連続したタイムアウト時に回復する)。

TdrLimitTime

コンピューターをクラッシュさせずに、特定の数の TDRs ( Tdrlimitcount キーで指定) を許可する既定の時間を指定します。

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

Tdrlimittimeキーによって指定された時間内に、コンピューターをクラッシュさせずに許容される tdrs (0x117) の既定の数を指定します。

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

予約済み。 使用しないでください。

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