ソフトウェア トレース用ツール

Microsoft Windows Driver Kit (WDK) には、ソフトウェア トレース用の一連のアプリケーションとコマンド ライン ツールが含まれています。 これらのツールは、Windows イベント トレーシング (ETW) をサポートし、Windows に含まれるトレース ツールを補完するように設計されています。

トレース ツールとは何か?

このツールには、トレース セッションを設定、開始、更新、停止するトレース コントローラー と、セッション中に生成されたトレース メッセージを受け取り、バイナリ データをファイルや表示用に人間が読める形式に変換するトレース コンシューマーが含まれています。

このツールには、ユーザー モード アプリケーションやカーネル モード ドライバーを含む、さまざまなトレース プロバイダーをサポートしており、WPP ソフトウェア トレースWindows イベント トレーシング (ETW) を使用して、ソフトウェア トレース用にインストルメント化されています。 コードをインストルメント化するための 2 つのアプローチの比較については、「WPP ソフトウェア トレースと Windows イベント トレーシング (ETW) の使用タイミング」を参照してください。

また、ツールは グローバル ロガー トレース セッション / NT カーネル ロガー トレース セッションなど、Windows に組み込まれている予約済みのトレース セッションにアクセスできます。

これらのツールの一部は、Windows Driver Kit (WDK) の tools\<Platform> サブディレクトリにあります。<プラットフォーム>は x86 または x64 です。 その他のツールは、Windows に含まれているか、WDK の bin\<Platform> サブディレクトリにあります。

どのような場合に、WPP ソフトウェア トレース や Windows イベント トレーシング (ETW) API を使用する必要がありますか?

主に開発とデバッグの目的でトレース データを収集する場合は、WPP ソフトウェア トレースを使用します。 他のタイプのトレースには、Windows イベント トレーシング (ETW)を使用します。

WPP ソフトウェア トレース Manifested/TraceLogging ETW
Windows 2000 以降でサポートされます。 Windows Vista 以降でサポートされます。
開発とデバッグのためのイベントのトレース。 主に、社内の開発者が中心です。 管理、運用、分析、デバッグを目的としたイベントのトレース。
ログ バイナリの PDB から抽出されるイベントをデコードするためには、TMF ファイルが必要です。 イベントをデコードするメタデータは、ローカル バイナリまたはイベント ペイロードに含まれます。
トレース プロバイダーごとに指定できるアクティブなセッションは 1 つだけです。 イベントは、複数のコンシューマーに多重化できます。
メッセージ文字列はローカライズできません。 文字列はローカライズできます。
プロバイダーのセキュリティは、イベントを有効にしてデコードするために必要なコントロール GUID または TMF ファイルをそれぞれ共有しないように制限されます。 プロバイダーは、ACL を適用して、そこからイベントを収集できるユーザーを制限できます。
 

Windows ソフトウェア トレース プリプロセッサ (WPP) マクロを使用して、ソフトウェア トレースをドライバーまたはアプリケーションに追加する方法については、「WPP ソフトウェア トレース」を参照してください。

ドライバーにカーネル モード ETW API を使用する方法の詳細については、「Windows イベント トレーシング (ETW)」を参照してください。

Windows Driver Model (WDM) に Windows Management Instrumentation (WMI) 拡張機能を使用してソフトウェア トレースを任意のドライバーに追加する方法については、「WMI イベント トレース」を参照してください。

注意 ETW と WPP は、ほとんどの種類のカーネル モード ドライバーとユーザー モード アプリケーションをサポートします。 ただし、ETW と WPP は、ミニポート ドライバーなど、特定の種類のドライバーでは使用できない型を使用します。 特定のドライバーの種類がサポートされているかどうかを確認するには、ドライバーに基本的な WPP マクロ (WPP_INIT_TRACINGWPP_CLEANUPなど) を追加します。 使用されている型が定義されていないためにコードがコンパイルされない場合、ETW と WPP はそのドライバーの種類をサポートできません。 

このセクションの内容

このセクションでは、ソフトウェア トレース ツールの調査から始まり、ツールの基礎となる概念について説明した後、WDK のソフトウェア トレース ツールのドキュメントを記述します。

このセクションには、次が含まれます。

ソフトウェア トレース ツールの調査

トレース ツールの概念

TraceView

トレース ログ

Tracepdb

Tracefmt

起動中のトレース

WPP ソフトウェア トレース

ソフトウェア トレースの FAQ

Windows イベント トレーシング (ETW)

カーネル モードのパフォーマンスの監視

イベント トレーシングについての概念については、Microsoft Windows SDK のドキュメントを参照してください。