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


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

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

Что такое инструменты трассировки?

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

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

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

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

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

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

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

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

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

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

Заметка ETW и WPP поддерживают большинство типов драйверов в режиме ядра и приложений пользовательского режима. Однако ETW и WPP используют типы, которые недоступны для определённых драйверов, таких как минипорт-драйверы. Чтобы определить, поддерживается ли конкретный тип драйвера, добавьте основные макросы WPP в драйвер, например WPP_INIT_TRACING и WPP_CLEANUP. Если код не компилируется, так как используемые типы не определены, etW и WPP не поддерживают тип драйвера. 

Сведения в этом разделе

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

В этом разделе приведено следующее:

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

Понятия инструмента трассировки

TraceView

Tracelog

Tracepdb

Tracefmt

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

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

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

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

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

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