次の方法で共有


Windowsイベント ログ サービスを使用してWPPトレースを有効にする方法

Windows イベント ログ サービスでは、WPP のログ記録とデコードがサポートされています。 このトピックでは、Windowsイベント ログ サービスを使用してWPPトレースを有効にする方法について説明します。

このシナリオで WPP トレースを有効にする場合、WPP プロバイダーに追加の作業は必要ありません。 ただし、Windows イベント ログ サービスを使用するには、マニフェストとイベント ログ プロバイダーを指定する必要があります。 WPP トレースを有効にするには、デバッグ チャネルを宣言し、関連付けられているコントロール GUID を WPP プロバイダーに対して宣言するように指定します。

次に例を示します。

<instrumentationManifest
    xmlns="http://schemas.microsoft.com/win/2004/08/events"
    xmlns:win="http://manifests.microsoft.com/win/2004/08/windows/events"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema"  xsi:schemaLocation="http://schemas.microsoft.com/win/2004/08/events eventman.xsd"  
    >
   <instrumentation>
        <events>
            <provider name="Microsoft-Windows-mySampleProvider"
                guid="{61CE3EC9-E5E8-4b96-A451-74631A6E0D5C}"
                >
          <channel
        chid="MS_WINDOWS_GE_DEBUG"
        enabled="false"
        isolation="System"
        message="$(string.Microsoft-Windows-GenerateEvent.channel.CHANNEL_DEBUG.message)"
        name="Microsoft-Windows-GenerateEvent/Debug"
        symbol="CHANNEL_DEBUG"
        type="Debug"
        >
        <publishing>
          <level>2</level>
          <keywords>0xFFFFFFFF</keywords>
          <controlGuid>{d58c126f-b309-11d1-969e-0000f875a5bc}</controlGuid>
        </publishing>
        </channel>
       </provider>
    </events>
   </instrumentation>
</instrumentationManifest>

WPP トレースは常に有効にするわけではないため、既定ではマニフェストの enable 属性を false に設定する必要があります。 WPP トレースが必要な場合は、マニフェストの属性を変更して、 enabled ="true"にします。

制御ビットを指定または個別に選択することはできません。 このチャネルに対するすべての WPP イベントを有効にするには、0XFFFFFFFFのキーワード (keyword)値を指定します。 内部的には、制御ビットはキーワード (keyword)にマップされます。特定のキーワード (keyword)にマップするビットがわかっている場合は、そのキーワード (keyword)を選択して特定のイベントセットを取得できます。 このマニフェスト例では、16 WPP 制御ビット未満が必要であるため、キーワード (keyword)値が0xFFFFされています。 インストール後に特定のイベント セットを取得するには、wevtutil.exeコマンド ライン ユーティリティを使用してキーワード (keyword)を変更できます。 コマンドは次のとおりです。

wevtutilsl<チャネル名>/k:<制御ビットに対応するキーワード値>

キーワード (keyword)値を変更するには、まずチャネルを無効にする必要があることに注意してください。

この方法でチャネルを宣言すると、WPP プロバイダー (コントロール GUID が指定されている) とイベント ログ プロバイダー (このチャネルが宣言されている) の両方がデバッグ チャネルにアクセスできるため、どちらのプロバイダーもこのチャネルに書き込むことができます。 WPP イベントまたは通常の ETW イベントは、イベント ビューアーを介してこのチャネルの下に表示できるようになりました。

WPP イベントはデコードされません。 これらのイベントに関連付けられているメッセージ文字列を取得するには、TMF ファイルを %windir%\System32\winevt\TraceFormat ディレクトリに配置します。 TMF ファイルは、入力用の PDB ファイルを受け取り、TMF ファイルを返す Tracepdb.exe などのユーティリティを使用して取得できます。