次の方法で共有


.NET Framework のログ記録の制御

Windows (ETW) のイベント トレースを使用して、共通言語ランタイム (CLR) イベントを記録できます。 トレースを作成および表示するには、次のツールを使用します。

CLR イベント情報をキャプチャするには、CLR プロバイダーがコンピューターにインストールされている必要があります。 プロバイダーがインストールされていることを確認するには、コマンド プロンプトで「 logman query providers 」と入力します。 プロバイダーの一覧が表示されます。 この一覧には、次のように CLR プロバイダーのエントリが含まれている必要があります。

Provider                                 GUID
-------------------------------------------------------------------------------
.NET Common Language Runtime    {E13C0D23-CCBC-4E12-931B-D9CC2EEE27E4}.

CLR プロバイダーが一覧にない場合は、Windows Wevtutil コマンド ライン ツールを使用して、Windows Vista 以降のオペレーティング システムにインストールできます。 管理者としてコマンド プロンプト ウィンドウを開きます。 プロンプト ディレクトリを .NET Framework 4 フォルダー (%WINDIR%\Microsoft.NET\Framework[64]\v4.< に変更します。NET バージョン>\ )。 このフォルダーには、CLR-ETW.man ファイルが含まれています。 コマンド プロンプトで、次のコマンドを入力して CLR プロバイダーをインストールします。

wevtutil im CLR-ETW.man

CLR ETW イベントのキャプチャ

Logman および Xperf コマンド ライン ツールを使用して ETW イベントをキャプチャし、Tracerpt ツールと Xperf ツールを使用してトレース イベントをデコードできます。

ログ記録を有効にするには、ユーザーは次の 3 つを指定する必要があります。

  • 通信するプロバイダー。

  • キーワードのセットを表す 64 ビットの数値。 各キーワードは、プロバイダーが有効にできる一連のイベントを表します。 この数値は、有効にするキーワードの組み合わせのセットを表します。

  • 記録レベル (詳細度) を表す小さな数値。 レベル 1 は最も詳細度が低く、レベル 5 が最も詳細です。 レベル 0 は、プロバイダー固有の意味を持つ既定値です。

Logman を使用して CLR ETW イベントをキャプチャするには

  1. コマンド プロンプトで、次のように入力します。

    logman start clrevents -p {e13c0d23-ccbc-4e12-931b-d9cc2eee27e4} 0x1CCBD 0x5 -ets -ct perf

    どこで:

    • -p パラメーターは、プロバイダー GUID を識別します。

    • 0x1CCBD は、発生するイベントのカテゴリを指定します。

    • 0x5 は、ログ記録のレベルを設定します (この場合は verbose (5))。

    • -ets パラメーターは、イベント トレース セッションにコマンドを送信するように Logman に指示します。

    • -ct perf パラメーターは、QueryPerformanceCounter関数を使用して各イベントのタイム スタンプをログに記録することを指定します。

  2. イベントのログ記録を停止するには、次のように入力します。

    logman stop clrevents -ets

    このコマンドは、clrevents.etl という名前のバイナリ トレース ファイルを作成します。

Xperf を使用して CLR ETW イベントをキャプチャするには

  1. コマンド プロンプトで、次のように入力します。

    xperf -start clr -on e13c0d23-ccbc-4e12-931b-d9cc2eee27e4:0x1CCBD:5 -f clrevents.etl

    GUID には CLR ETW プロバイダーの GUID を指定します。0x1CCBD:5 を指定すると、レベル 5 (詳細) 以下のすべての内容がトレースされます。

  2. トレースを停止するには、次のように入力します。

    Xperf -stop clr

    このコマンドは、clrevents.etl という名前のトレース ファイルを作成します。

CLR ETW イベントの表示

CLR ETW イベントを表示するには、次のコマンドを使用します。 イベントの詳細については、「 CLR ETW イベント」を参照してください。

Tracerpt を使用して CLR ETW イベントを表示するには

  • コマンド プロンプトで、次のように入力します。

    tracerpt clrevents.etl

    このコマンドは、dumpfile.xml と summary.txtの 2 つのファイルを作成します。 dumpfile.xml ファイルにはすべてのイベントが一覧表示され、summary.txt はイベントの概要を示します。

Xperf を使用して CLR ETW イベントを表示するには

  • コマンド プロンプトで、次のように入力します。

    xperf clrevents.etl

    このコマンドを実行すると、Xperf ETL ファイル ビューアーが開きます。 このビューアーでは、CLR イベントが [汎用イベント ] ビューに表示されます。 種類別に分類されたイベントのデータ グリッドを表示するには、このビューで時間の領域を選択し、右クリックして [概要] を選択 します

.etl ファイルをコンマ区切り値ファイルに変換するには

  • コマンド プロンプトで、次のように入力します。

    xperf -i clrevents.etl -f clrevents.csv

    このコマンドにより、XPerf は、表示できるコンマ区切り値 (CSV) ファイルとしてイベントをダンプします。 イベントによってフィールドが異なるため、この CSV ファイルにはデータの前に複数のヘッダー行が含まれます。 各行の最初のフィールドはイベントの種類で、残りのフィールドを決定するために使用するヘッダーを示します。

こちらも参照ください