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


Пример 5. Форматирование сеансов трассировки Real-Time

Tracefmt можно использовать для форматирования сообщений трассировки из сеансов трассировки в режиме реального времени в дополнение к файлам журнала трассировки.

Следующая последовательность команд использует Tracelog и Tracefmt. Первая команда использует Tracelog для запуска сеанса трассировки в режиме реального времени с помощью поставщика трассировки Tracedrv. TraceDrv, пример драйвера, предназначенного для трассировки программного обеспечения, доступен в репозитории примеров драйверов Windows на сайте GitHub.

tracelog -start MyTrace -guid tracedrv.ctl -flag 1 -rt

Эта команда запускает сеанс трассировки с именем MyTrace. Он использует параметр -guid для идентификации поставщика трассировки, Tracedrv.sys, с помощью файла GUID элемента управления tracedrv.ctl. Параметр -flag используется для установки значения флага трассировкиравным 1. Он использует параметр -rt для запуска сеанса трассировки, который доставляет сообщения непосредственно потребителю трассировки, например Tracefmt. Без параметра -rt поставщик трассировки будет отправлять сообщения только в файл журнала.

Следующая команда использует Tracefmt для форматирования сообщений, созданных Tracedrv во время сеанса трассировки MyTrace.

tracefmt -rt MyTrace -p c:\tracing -o mytrace.txt

Эта команда Tracefmt использует параметр -rt для идентификации сеанса трассировки в режиме реального времени, MyTrace и параметр -p , чтобы указать каталог, в котором находится TMF-файл для Tracedrv.sys. Параметр -o направляет выходные данные в файл mytrace.txt в локальном каталоге.

В ответ на эту команду Tracefmt готовится к форматированию сообщений трассировки в режиме реального времени. Он отображает следующие сообщения о состоянии, но не возвращается в командную строку:

c:\tracetools>tracefmt -rt mytrace -display -o mytrace.txt
Setting RealTime mode for  mytrace
Getting guids from c:\tracetools\default.tmf

Следующая команда Tracelog останавливает сеанс трассировки MyTrace. Команду необходимо ввести в другом окне командной строки.

tracelog -stop mytrace

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

Event traces dumped to mytrace.txt
Event Summary dumped to mytrace.txt.sum