Поделиться через


Включение трассировки WPP с помощью службы журналов событий Windows

Служба журналов событий Windows поддерживает ведение журнала и декодирование WPP. В этом разделе описывается, как включить трассировку WPP с помощью службы журнала событий Windows.

Включение трассировки 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. Внутри контрольные биты сопоставляется с ключевыми словами; Если вы знаете, какой бит сопоставляется с определенным ключевое слово, вы можете выбрать этот ключевое слово, чтобы получить определенный набор событий. В примере манифеста значение ключевое слово равно 0xFFFF поскольку требуется менее 16 битов элемента управления WPP. Чтобы получить определенный набор событий после установки, можно изменить ключевые слова с помощью программы командной строки wevtutil.exe. Для этого используется следующая команда.

wevtutilsl channel<name>/k:<ключевое слово значение, соответствующее биту> элемента управления

Обратите внимание, что канал необходимо сначала отключить, чтобы изменить значение ключевое слово.

Объявление канала таким образом позволяет как поставщику WPP (у которого указан GUID элемента управления), так и поставщику журнала событий (в котором объявлен этот канал) доступ к каналу отладки, чтобы любой из поставщиков мог выполнять запись в этот канал. События WPP или обычные события трассировки событий Windows теперь можно просматривать в этом канале через средство просмотра событий.

События WPP не декодируются. Чтобы получить строки сообщений, связанные с этими событиями, поместите файлы TMF в каталог %windir%\System32\winevt\TraceFormat. TMF-файлы можно получить с помощью служебной программы, например Tracepdb.exe, которая принимает PDB-файл для ввода и возвращает TMF-файлы.