Condividi tramite


Come abilitare la traccia WPP tramite il servizio registro eventi di Windows

Il servizio Registro eventi di Windows supporta la registrazione e la decodifica WPP. Questo argomento descrive come abilitare la traccia WPP tramite il servizio Registro eventi di Windows.

L'abilitazione della traccia WPP in questo scenario non richiede alcun lavoro aggiuntivo per il provider WPP. Tuttavia, per usare il servizio Registro eventi di Windows, è necessario fornire un manifesto e un provider del registro eventi. Per abilitare la traccia WPP, dichiarare un canale di debug e specificare il GUID del controllo associato come dichiarato per il provider WPP.

Ad esempio:

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

La traccia WPP non deve essere abilitata per tutto il tempo, quindi per impostazione predefinita l'attributo enable nel manifesto deve essere impostato su false. Quando è necessaria la traccia WPP, modificare l'attributo nel manifesto, in modo che enabled="true".

Non è possibile specificare o selezionare singolarmente i bit di controllo. Per abilitare tutti gli eventi WPP in questo canale, specificare un valore di parola chiave di 0XFFFFFFFF. Internamente, i bit di controllo eseguono il mapping alle parole chiave; se si conosce il bit mappato a una parola chiave specifica, è possibile selezionare tale parola chiave per ottenere un set specifico di eventi. Nel manifesto di esempio il valore della parola chiave è 0xFFFF perché sono necessari meno di 16 bit di controllo WPP. Per ottenere un set specifico di eventi dopo l'installazione, è possibile modificare le parole chiave usando l'utilità della riga di comando wevtutil.exe. Il comando è:

wevtutil sl< channel name>/k:<keyword value corrispondente al bit di controllo>

Si noti che il canale deve prima essere disabilitato per modificare il valore della parola chiave.

La dichiarazione di un canale in questo modo consente al provider WPP (il cui GUID di controllo è specificato) e al provider del registro eventi (con cui questo canale viene dichiarato) di accedere al canale di debug, in modo che entrambi i provider possano scrivere in questo canale. Gli eventi WPP o gli eventi ETW normali possono ora essere visualizzati in questo canale tramite il visualizzatore eventi.

Gli eventi WPP non vengono decodificati. Per ottenere stringhe di messaggio associate a questi eventi, inserire i file TMF nella directory %windir%\System32\winevt\TraceFormat. È possibile ottenere i file TMF usando un'utilità come Tracepdb.exe, che accetta il file PDB per l'input e restituisce i file TMF.