Compartir a través de


Cómo habilitar el seguimiento de WPP a través del servicio de registro de eventos de Windows

El servicio registro de eventos de Windows admite el registro y la descodificación de WPP. En este tema se describe cómo habilitar el seguimiento de WPP a través del servicio registro de eventos de Windows.

La habilitación del seguimiento de WPP en este escenario no requiere ningún trabajo adicional para el proveedor de WPP. Sin embargo, para usar el servicio registro de eventos de Windows, debe proporcionar un manifiesto y un proveedor de registro de eventos. Para habilitar el seguimiento de WPP, declare un canal de depuración y especifique el GUID de control asociado como declarado para el proveedor de WPP.

Por ejemplo:

<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>

El seguimiento de WPP no está pensado para habilitarse todo el tiempo, por lo que, de forma predeterminada, el atributo enable del manifiesto debe establecerse en false. Cuando se necesita el seguimiento de WPP, cambie el atributo en el manifiesto, de modo que enabled="true".

No se pueden especificar ni seleccionar individualmente bits de control. Para habilitar todos los eventos de WPP en este canal, especifique un valor de palabra clave de 0XFFFFFFFF. Internamente, los bits de control se asignan a palabras clave; Si sabe qué bits se asigna a una palabra clave específica, puede seleccionar esa palabra clave para obtener un conjunto específico de eventos. En el manifiesto de ejemplo, el valor de palabra clave es 0xFFFF porque se necesitan menos de 16 bits de control WPP. Para obtener un conjunto específico de eventos después de la instalación, puede cambiar las palabras clave mediante la utilidad de línea de comandos wevtutil.exe. El comando es el siguiente:

wevtutil sl< channel name>/k:<keyword value correspondiente a control bit>

Tenga en cuenta que el canal debe deshabilitarse primero para cambiar el valor de la palabra clave.

Declarar un canal de esta manera permite que tanto el proveedor de WPP (cuyo GUID de control se especifique) como el proveedor del registro de eventos (en el que se declara este canal) accedan al canal de depuración, por lo que cualquiera de los proveedores puede escribir en este canal. Los eventos de WPP o los eventos ETW normales ahora se pueden ver en este canal a través del visor de eventos.

Los eventos de WPP no están descodificados. Para obtener cadenas de mensajes asociadas a estos eventos, coloque los archivos TMF en el directorio %windir%\System32\winevt\TraceFormat. Puede obtener los archivos TMF mediante una utilidad como Tracepdb.exe, que toma el archivo PDB para la entrada y devuelve archivos TMF.