Bagikan melalui


Cara Mengaktifkan Pelacakan WPP Melalui Layanan Log Peristiwa Windows

Layanan Log Peristiwa Windows mendukung pengelogan dan decoding WPP. Topik ini menjelaskan cara mengaktifkan pelacakan WPP melalui layanan Log Peristiwa Windows.

Mengaktifkan pelacakan WPP dalam skenario ini tidak memerlukan pekerjaan tambahan kepada penyedia WPP. Namun, untuk menggunakan layanan Log Peristiwa Windows, Anda harus menyediakan manifes dan penyedia Log Peristiwa. Untuk mengaktifkan pelacakan WPP, deklarasikan saluran debug dan tentukan GUID kontrol terkait sebagaimana dinyatakan untuk penyedia WPP Anda.

Contohnya:

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

Pelacakan WPP tidak dimaksudkan untuk diaktifkan sepanjang waktu, jadi secara default atribut enable dalam manifes harus diatur ke false. Saat pelacakan WPP diperlukan, ubah atribut dalam manifes, sehingga enabled="true".

Anda tidak dapat menentukan atau memilih bit kontrol satu per satu. Untuk mengaktifkan semua peristiwa WPP ke saluran ini, tentukan nilai kata kunci 0XFFFFFFFF. Secara internal, bit kontrol memetakan ke kata kunci; jika Anda tahu bit mana yang memetakan ke kata kunci tertentu, Anda dapat memilih kata kunci tersebut untuk mendapatkan serangkaian peristiwa tertentu. Dalam contoh manifes, nilai kata kunci 0xFFFF karena kurang dari 16 bit kontrol WPP diperlukan. Untuk mendapatkan serangkaian peristiwa tertentu setelah penginstalan, Anda dapat mengubah kata kunci menggunakan utilitas baris perintah wevtutil.exe. Perintahnya adalah:

wevtutil sl <channel name>/k:<keyword value yang sesuai dengan control bit>

Perhatikan bahwa saluran harus terlebih dahulu dinonaktifkan untuk mengubah nilai kata kunci.

Mendeklarasikan saluran dengan cara ini memungkinkan penyedia WPP (yang GUID kontrolnya ditentukan) dan penyedia Log Peristiwa (di mana saluran ini dideklarasikan) untuk mengakses saluran debug, sehingga salah satu penyedia dapat menulis ke saluran ini. Peristiwa WPP atau peristiwa ETW normal sekarang dapat dilihat di bawah saluran ini melalui penampil peristiwa.

Peristiwa WPP tidak didekodekan. Untuk mendapatkan string pesan yang terkait dengan peristiwa ini, tempatkan file TMF di direktori %windir%\System32\winevt\TraceFormat. Anda bisa mendapatkan file TMF dengan menggunakan utilitas seperti Tracepdb.exe, yang mengambil file PDB untuk input dan mengembalikan file TMF.