Средства для трассировки программного обеспечения
Пакет драйверов Microsoft Windows (WDK) включает набор приложений и программ командной строки для трассировки программного обеспечения. Эти средства предназначены для поддержки трассировки событий Windows (ETW) и дополнения средств трассировки, включенных в Windows.
- Что такое средства трассировки?
- Когда следует использовать трассировку программного обеспечения WPP или API трассировки событий Windows (ETW)?
- Что в этом разделе
Что такое средства трассировки?
К ним относятся контроллеры трассировки , которые настраивают, запускают, обновляют и останавливают сеансы трассировки, а также потребители трассировки , которые получают сообщения трассировки, созданные во время сеансов, и преобразуют двоичные данные в удобочитаемый формат для файлов или отображения.
Эти средства поддерживают различные поставщики трассировки, в том числе приложения в пользовательском режиме и драйверы в режиме ядра, которые инструментируются для трассировки программного обеспечения с помощью трассировки программного обеспечения 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.
Этот раздел состоит из следующих частей.
Обзор средств трассировки программного обеспечения
Основные понятия средства трассировки
Трассировка программного обеспечения WPP
Часто задаваемые вопросы о трассировке программного обеспечения
Трассировка событий Windows (ETW).
Мониторинг производительности в режиме ядра
Основные сведения о трассировке событий см. в документации по Microsoft Windows SDK.