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


Информация о трассировке событий для драйверов

Определение трассировки событий

Трассировка событий для Windows (ETW) — это эффективный и эффективный механизм для трассировки и ведения журнала событий, создаваемых приложениями пользовательского режима и драйверами режима ядра. ETW состоит из трех компонентов:

Срок Описание

Поставщики

Приложения или компоненты, которые включают инструментирование трассировки событий.

Контроллеры

Приложения, которые запускают, останавливают и настраивают сеансы трассировки событий.

Потребители

Приложения, которые получают сеансы событийной трассировки в режиме реального времени или извлекают их из файла.

API ETW Kernel-Mode

Интерфейс программирования приложений ETW (API) предоставляет набор функций, доступных компонентам и драйверам в режиме ядра. Трассировка событий WMI и трассировка программного обеспечения WPP используют ETW. Разработчики драйверов могут использовать эти функции для регистрации драйвера в качестве поставщика ETW. Поставщики ETW могут вызывать события и публиковать их в журнале событий Windows или записывать их в сеанс ETW, который записывается в файл трассировки или передается потребителю в режиме реального времени. События — это сущности, описывающие интересные происшествия в системе и определяемые набором атрибутов, который определяется поставщиками ETW.

Технология Event Tracing for Windows (ETW) реализована в операционной системе Windows и предоставляет разработчикам быстрый, надежный и универсальный набор функций для трассировки событий с очень небольшим воздействием на производительность. Вы можете динамически включить или отключить трассировку, не перезагрузив компьютер или перезагрузив приложение или драйвер. В отличие от инструкций отладки, которые вы добавляете в код во время разработки, в рабочем коде можно использовать ETW.

Когда следует использовать трассировку событий

Используйте API режима ядра ETW, если вы хотите опубликовать события, которые могут использоваться приложениями, заинтересованными в административных, операционных и аналитических событиях, помимо подробной трассировки, которую может потребоваться во время разработки. Используйте трассировку программного обеспечения WPP, если вы заинтересованы в основном в сборе данных трассировки для целей разработки и отладки.