Microsoft Windows Driver Kit (WDK) には、ソフトウェア トレース用の一連のアプリケーションとコマンド ライン ツールが含まれています。 これらのツールは、Windows イベント トレーシング (ETW) をサポートし、Windows に含まれるトレース ツールを補完するように設計されています。
トレースツールとは何ですか?
ツールには、 トレース セッションを構成、開始、更新、および停止するトレース コントローラーと、セッション中に生成されたトレース メッセージを受信し、バイナリ データをファイルまたは表示用の人間が判読できる形式に変換するトレース コンシューマー が含まれます。
このツールは、ユーザー モード アプリケーションやカーネル モード ドライバーなど、さまざまな トレース プロバイダーをサポートします。このドライバーは、 WPP ソフトウェア トレース または Event Tracing for Windows (ETW) を使用してソフトウェア トレース用にインストルメント化されます。 コードをインストルメント化する 2 つの方法の比較については、「 Windows 用 WPP ソフトウェア トレースとイベント トレース (ETW) を使用する場合」を参照してください。
ツールは、グローバル ロガー トレース セッション / NT カーネル ロガートレース セッションなど、Windows に組み込まれている予約済みトレース セッションにもアクセスできます。
これらのツールの一部は、Windows Driver Kit (WDK) の tools\<Platform> サブディレクトリにあります。ここで、 <Platform> は x86 または x64 です。 その他のツールは、Windows に含まれているか、WDK の bin\<Platform> サブディレクトリにあります。
WPP ソフトウェア トレースまたは Event Tracing for Windows (ETW) API を使用する必要がある場合
開発とデバッグの目的でトレース データを主に収集する場合は、 WPP ソフトウェア トレース を使用します。 他 の種類のトレースには、Windows イベント トレーシング (ETW) を使用します。
WPP ソフトウェア トレース | マニフェスト/トレースロギング ETW |
---|---|
Windows 2000 以降でサポートされています。 | Windows Vista 以降でサポートされています。 |
開発とデバッグのためのイベントのトレース。 内部開発者を主な対象としています。 | 管理、運用、分析、デバッグを目的としたイベントのトレース。 |
ログ バイナリの PDB から抽出されるイベントをデコードするために TMF ファイルが必要です。 | イベントをデコードするメタデータは、ローカル バイナリまたはイベント ペイロードに含まれます。 |
トレース プロバイダーごとにアクティブなセッションを 1 つだけ指定できます。 | イベントは複数のコンシューマーに多重化できます。 |
メッセージ文字列はローカライズできません。 | 文字列はローカライズできます。 |
プロバイダーのセキュリティは、イベントを有効にしてデコードするために必要なコントロール GUID または TMF ファイルをそれぞれ共有しないように制限されます。 | プロバイダーは ACL を適用して、そこからイベントを収集できるユーザーを制限できます。 |
Windows ソフトウェア トレース プリプロセッサ (WPP) マクロを使用してソフトウェア トレースをドライバーまたはアプリケーションに追加する方法については、「 WPP ソフトウェア トレース」を参照してください。
ドライバーにカーネル モード ETW API を使用する方法の詳細については、「 Windows イベント トレーシング (ETW)」を参照してください。
Windows ドライバー モデル (WDM) に Windows Management Instrumentation (WMI) 拡張機能を使用してソフトウェア トレースを任意のドライバーに追加する方法については、「 WMI イベント トレース」を参照してください。
手記 ETW と WPP では、ほとんどの種類のカーネル モード ドライバーとユーザー モード アプリケーションがサポートされています。 ただし、ETW と WPP は、ミニポート ドライバーなど、特定の種類のドライバーでは使用できない型を使用します。 特定のドライバーの種類がサポートされているかどうかを確認するには、ドライバーに基本的な WPP マクロ ( WPP_INIT_TRACING や WPP_CLEANUPなど) を追加します。 使用されている型が定義されていないためにコードがコンパイルされない場合、ETW と WPP はドライバーの種類をサポートできません。
このセクションの内容
このセクションでは、ソフトウェア トレース ツールの調査から始まり、ツールの基礎となる概念について説明した後、WDK のソフトウェア トレース ツールのドキュメントを含めます。
このセクションには、次のものが含まれます。
Event Tracing for Windows (ETW)
カーネル モードのパフォーマンス監視 の
イベント トレースの概念については、Microsoft Windows SDK のドキュメントを参照してください。