次の方法で共有


動画: UMDFドライバーのデバッグ

このトピックには、ユーザー モード ドライバー フレームワーク (UMDF) ドライバーをデバッグする方法を示す Abhishek Ram による一連の動画が含まれています。

動画を視聴した後は、UMDF デバッガー拡張機能について理解し、基本的なデバッグ シナリオでそれらを使用する方法を理解します。

動画では古いバージョンの Windows で UMDF バージョン 1 ドライバーをデバッグする方法を示していますが、現在のバージョンの Windows で実行されている UMDF バージョン 2 ドライバーでも同じ手法を使用できます。

注意 この動画では、UMDF バージョン 1 ドライバーのデバッグにのみ使用できる Wudfext.dll のデバッガー拡張機能コマンドについて説明します。 UMDF バージョン 2.0 以降の UMDF ドライバーをデバッグするには、代わりに Wdfkd.dll デバッガー拡張機能ライブラリを使用する必要があります。 Wudfext.dll のすべての拡張機能の Wdfkd.dll には同等のものがあります。 詳細については、「Wudfext.dll のデバッガー拡張機能の概要」「Wdfkd.dll のデバッガー拡張機能の概要」をご参照ください。

UMDF のデバッグの詳細については、「WDF ドライバーのデバッグ」に記載されているトピックをご参照ください。

前提条件

このコンテンツを最大限に活用するには、UMDF と Windows 用デバッグ ツールに関する実用的な知識が必要です。 各セッションは前のセッションに基づいて構築されているため、これらのデモは一覧の順序で表示することをお勧めします。

基本とセットアップ

WDK サンプルと OSR USB-FX2 ラーニング キットの使用について説明します。

この動画では、テスト マシンの準備、Devcon ツールを使用した UMDF エコー サンプル ドライバーのインストール、WdfVerifier を使用した特定の UMDF ドライバーをホストするホスト プロセスの識別、WdfVerifier を使用した初期化コードのデバッグに必要なホスト プロセスのデバッガーへのアタッチなど、UMDF デバッグの基本について説明します。 この動画では、タスク マネージャーで実行中のホスト プロセスを一覧表示し、実行中のドライバーをデバイス マネージャーで表示する方法についても説明します。

デバッガー拡張機能を使用してオブジェクト階層を調べる

このパートでは、UMDF ドライバーのデバッグを開始する方法について説明します。 この動画では、アプリの 3 つのインスタンスがドライバーに読み取り、書き込み、およびデバイス I/O 制御要求を送信するように、OSR USB-FX2 ドライバーのサンプルとアプリケーション サンプルを設定する方法について説明します。 要求が最初にリフレクターに、次にユーザー モード ドライバーのホスト プロセスにどのように流れるかを確認します。 この動画では、FX2 ドライバー サンプルの WDF オブジェクト階層について説明し、次の UMDF デバッガー拡張機能を使用して UMDF オブジェクト階層を走査する方法について説明します。

UMDF 2 については、!wdfkd.wdfumdevstacksなどの「Wdfkd.dllのデバッガー拡張機能の概要」をご参照ください。

フレームワーク USB オブジェクトへのアクセス

ここでは、ドライバーのフレームワーク USB オブジェクトを調べる方法について説明します。 これを行うには、WDF オブジェクトを移動し、USB パイプ オブジェクト、USB インターフェイス オブジェクト、USB I/O ターゲット オブジェクトに到達します。

I/O 要求とキュー

この動画では、デバッガーを使用して、ドライバーのフレームワーク I/O 要求オブジェクトとフレームワーク キュー オブジェクトを調べます。

ファイル オブジェクトとコールバック オブジェクト

このパートでは、フレームワーク ファイル オブジェクトとドライバーのコールバック オブジェクトを調べる方法について説明します。

UMDF ドライバーによって送信された I/O 要求の追跡

ここでは、アプリ検証ツールを使用してデバッグする方法について説明します。 また、ドライバー初期化コードをデバッグする方法と、UMDF ドライバーからカーネル スタックに送信された要求を追跡する方法についても説明します。

ドライバーが I/O 要求を完了しない

最後の動画では、UMDF ドライバーが受信した要求を完了しなかった場合のケースを調査し、フレームワークのオブジェクト追跡機能と参照追跡機能について学習します。