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


Средства для трассировки программного обеспечения

Пакет драйверов Microsoft Windows (WDK) включает набор приложений и программ командной строки для трассировки программного обеспечения. Эти средства предназначены для поддержки трассировки событий Windows (ETW) и дополнения средств трассировки, включенных в Windows.

Что такое средства трассировки?

К ним относятся контроллеры трассировки , которые настраивают, запускают, обновляют и останавливают сеансы трассировки, а также потребители трассировки , которые получают сообщения трассировки, созданные во время сеансов, и преобразуют двоичные данные в удобочитаемый формат для файлов или отображения.

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

Эти средства также могут обращаться к зарезервированным сеансам трассировки , встроенным в Windows, например сеансу трассировки / глобального средства ведения журнала NT Kernel Logger.

Некоторые из этих средств находятся в подкаталоге tools\<Platform> пакета драйверов Windows (WDK), где <платформа> — x86 или x64. Другие средства либо входят в состав Windows, либо находятся в подкаталоге bin\<Platform> WDK.

Когда следует использовать трассировку программного обеспечения WPP или API трассировки событий Windows (ETW)?

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

Трассировка программного обеспечения WPP Manifested/TraceLogging ETW
Поддерживается в Windows 2000 и более поздних версиях. Поддерживается в Windows Vista и более поздних версиях.
Трассировка событий для разработки и отладки. В основном ориентированы на внутренних разработчиков. Трассировка событий для административных, операционных, аналитических целей и отладки.
Требуются TMF-файлы для декодирования событий, которые извлекаются из PDB-файла двоичного файла журнала. Метаданные для декодирования событий содержатся в локальном двоичном файле или в полезных данных события.
Может быть только одним активным сеансом для каждого поставщика трассировки. События можно мультиплексировать для нескольких потребителей.
Строки сообщений не могут быть локализованы. Строки можно локализовать.
Безопасность поставщика ограничивается отсутствием общего доступа к guid элемента управления или файлам TMF, необходимым для включения и декодирования событий соответственно. Поставщик может применять списки управления доступом, чтобы ограничить, какие пользователи могут собирать из него события.
 

Сведения об использовании макросов препроцессора трассировки программного обеспечения Windows (WPP) для добавления трассировки программного обеспечения в драйвер или приложение см. в разделе Трассировка программного обеспечения WPP.

Сведения об использовании API трассировки событий Windows в режиме ядра для драйверов см. в разделе Трассировка событий Windows (ETW).

Сведения об использовании расширений инструментария управления Windows (WMI) в модели драйверов Windows (WDM) для добавления трассировки программного обеспечения в любой драйвер см. в статье Трассировка событий WMI.

Примечание ETW и WPP поддерживают большинство типов драйверов в режиме ядра и приложений в пользовательском режиме. Однако трассировка событий Windows и WPP используют типы, недоступные для определенных типов драйверов, таких как драйверы минипорта. Чтобы определить, поддерживается ли определенный тип драйвера, добавьте в драйвер базовые макросы WPP, такие как WPP_INIT_TRACING и WPP_CLEANUP. Если код не компилируется, так как используемые типы не определены, etw и WPP не поддерживают тип драйвера. 

Что в этом разделе

Этот раздел начинается с обзора средств трассировки программного обеспечения, обсуждает концепции, лежащие в их основе, а затем включает документацию по средствам трассировки программного обеспечения в WDK.

Этот раздел состоит из следующих частей.

Обзор средств трассировки программного обеспечения

Основные понятия средства трассировки

TraceView

Журнал трассировки

Tracepdb

Tracefmt

Трассировка во время загрузки

Трассировка программного обеспечения WPP

Часто задаваемые вопросы о трассировке программного обеспечения

Трассировка событий Windows (ETW).

Мониторинг производительности в режиме ядра

Основные сведения о трассировке событий см. в документации по Microsoft Windows SDK.