次の方法で共有


Netmon での USB ETW トレースの表示方法

この記事では、Netmon を使用してイベント トレース ファイルを表示する方法について説明します。

Netmon パーサーと USB ETW パーサーをインストールする方法の説明に従って、Netmon をインストールし、USB ETW ファイルで使用するように構成した後、それを使用してトレース ファイルを調べることができます。

ETW ファイルを開く

Netmon でトレース ファイルを表示するには、[スタート] 画面で「netmon」と入力して Netmon を開きます。 次のいずれかの方法を使用して、トレース ファイルを開きます。

  • [ファイル] メニューの [開く] をクリックし、[キャプチャ] をクリックして、.etl ファイルを選択します。
  • [キャプチャを開く] ボタンをクリックして、.etl ファイルを選択します。
  • Ctrl キーを押しながら O キーを押し、.etl ファイルを選択します。

イベント トレースは個々のイベントで構成され、それぞれがドライバー スタックで発生したことを示します。 各イベントは、ドライバー スタックによって定義された複数の種類のいずれかに準拠しています。

Screenshot that shows the

イベントが [フレームの概要] ウィンドウに表示されていることを確認します。 上の図は、USB 2.0 ドライバー スタックからの偶数を示しています。 このペインには、次の列が表示されます。

  • 時間オフセット: イベントのタイムスタンプ。ログの開始時刻からのオフセットとして指定されます。
  • プロトコル名: イベントを記録したドライバー。 USB イベントの場合、ドライバーは USB ハブまたは USB ポートです。
  • 説明: イベントのわかりやすい名前。

[フレームの概要] ウィンドウでイベントを選択します。 Netmon は、[フレームの詳細] ウィンドウと [16 進の詳細] ウィンドウにイベントの詳細を表示します。 [フレームの詳細] ウィンドウで、項目を展開してイベントの詳細を確認します。 Netmon を使用して USB トレース ファイルを調べる例については、「ケース スタディ: ETW と Netmon を使用した不明な USB デバイスのトラブルシューティング」を参照してください。

USB 3.0 ドライバー スタック用 USB ETW パーサーの新しい列

USB 2.0 ドライバー スタックからの重要な種類のイベントは、USB 3.0 ドライバー スタックでも定義されています。 ただし、これらの型には微妙な違いがあります。 たとえば、USB 制御転送完了イベントの種類について考えます (説明 : USBPort: データを使用して URB_FUNCTION_CONTROL_TRANSFER_EX を完了する)。

USB 2.0 ドライバー スタック イベントの種類の場合、[フレームの詳細] ウィンドウに idVendor (USB VID とも呼ばれます) と idProduct (USB PID とも呼ばれます) が表示されます。 このイメージは、USB 2.0 ホスト コントローラーに接続されている USB 2.0 デバイスのイベント トレースを示しています。

Screenshot that shows the

USB 3.0 ドライバー スタック イベントの種類の場合、[フレームの詳細] ウィンドウに idVendor または idPid は含まれません。 この情報は、次の図に示すように、[フレームの概要] ウィンドウに新しい列を追加することで使用できます。

次の新しい列に注目してください。

  • USB デバイスの説明
  • USB Vid
  • USB Pid
  • USB の長さ
  • USB 要求の実行時間

microsoft network monitor.

すべての USB イベント トレース (USB 2.0 と USB 3.0) では、各 URB が完了すると、要求に関する詳細情報が表示されるようになりました。 USB の長さの下の「41/255」などの値に注目してください。 これらの値は、要求の合計長 (クライアント ドライバーによって指定された元の TransferBufferLength) のコンテキストを使用して、完了時の各 URB の実際の転送長を示します。 また、[USB 要求の実行時間] 列で、要求が完了するまでにかかった時間 (秒単位) を確認できます。

[表示フィルター] ウィンドウへのフィルターの追加

キャプチャ フィルターを使用して、特定のシナリオのイベント トレースを絞り込むことができます。 USB 2.0 および USB 3.0 ドライバー スタックからイベント トレース用の新しいフィルターを記述できます。

USBIsError == 1      // Any error events from the USB drivers
USBIsDisconnect == 1 // Show when any device disconnected

すべての列はフィルター処理できます。 フィルターを作成するには、セルを右クリックし、[フィルターの表示に<列名>を追加] を選択します。 Netmon は、その値と列名に基づいてフィルターを作成し、[フィルターの表示] ウィンドウの下に追加します。