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


Синтаксис команды Tracelog

Tracelog содержит команды (или действия), которые запускают, останавливают и управляют сеансом трассировки.

Примечание.

Для управления сеансом трассировки необходимо быть членом группы пользователей журнала производительности или группы администраторов на компьютере (запуск от имени администратора).

    tracelog [actions] [options] | [-h | -help | -?] 

Параметры

Сведения о параметрах tracelog см. в разделе [действия] [параметры].

[действия]

-addautologger [LoggerName]
Настраивает записи реестра для сеанса автолога. Сеанс автолога — это предпочтительный метод для трассировки действия драйвера или другого поставщика трассировки во время загрузки системы. Необходимо указать GUID сеанса с помощью параметра -sessionguid . Команда tracelog -addautologger принимает те же параметры, что и команда Tracelog -start .

-capturestate [LoggerName]
Запрашивает все поставщики, включенные в LogerName , для получения сведений о состоянии журнала. Ключевые слова, включенные, помогают определить тип сведений, зарегистрированных в журнале.

-disable [LoggerName]
Отключает указанные поставщики трассировки. Если поставщик отключен, он продолжает выполняться, но прекращает создавать сообщения трассировки.

Команда tracelog -stop отключает поставщиков трассировки перед остановкой сеанса. Перед остановкой сеанса трассировки не нужно отключать поставщиков. Однако можно использовать команду tracelog -disable , чтобы отключить выбранные поставщики без остановки сеанса трассировки.

Отключение останавливает поставщик трассировки от отправки сообщений трассировки в буферы сеансов трассировки, но не очищает буферы или останавливает сеанс трассировки. Используйте команду tracelog -flush для очистки буферов и журнала трассировки -stop или tracelog -x (остановить все), чтобы остановить сеанс трассировки.

Tracelog использует функцию EnableTrace для реализации команды tracelog -disable. Дополнительные сведения об этой функции см. в документации по пакету SDK для Microsoft Windows.

-enable [LoggerName]
Включает один или несколько поставщиков трассировки для сеанса трассировки LoggerName .

При включении поставщика поставщик создает сообщения трассировки и отправляет их в буферы сеанса трассировки. Если поставщик не запущен (или не загружен) при включении, система предварительно регистрирует поставщика, то есть резервирует место для поставщика в базе данных регистрации ETW и сохраняет команду включения. Когда поставщик запускается и фактически регистрируется, он получает сохраненную команду включения и начинает отправлять сообщения трассировки в сеанс.

Команда tracelog -start включает все поставщики, указанные необязательным параметром -guid в команде tracelog -start . Не нужно отправлять отдельную команду tracelog -enable .

С помощью команды tracelog -enable можно добавить поставщика в запущенный сеанс трассировки, изменить флаги и уровень поставщика во время трассировки или повторно включить поставщик, отключенный с помощью команды tracelog -disable .

При использовании команды tracelog -enable сначала отправьте команду tracelog -start для запуска сеанса трассировки, а затем отправьте команду tracelog -enable , чтобы включить поставщиков.

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

Флаги трассировки и уровень трассировки, указанные с параметрами -flag и -level , передаются всем поставщикам трассировки, представленным параметром -guid . Чтобы указать различные флаги и уровни для каждого поставщика трассировки, отправьте отдельную команду tracelog -enable для каждого поставщика с собственными параметрами флага и уровня.

Если включить любой из флагов средства ведения журнала ядра NT (например , -noprocess, -nothread, -fio или -cm) во время выполнения сеанса трассировки глобального средства ведения журнала, сеанс глобального средства ведения журнала преобразуется в сеанс трассировки средства ведения журнала NT. Эта функция предназначена для трассировки событий ядра во время загрузки.

-enableex [LoggerName]
Идентичен -enable. Этот параметр может быть удален в будущих версиях Tracelog.

-enumguid
Перечисляет поставщиков (или списков) в системе, зарегистрированной в трассировке событий для Windows (ETW). Описание отображения Enumguid см. в разделе Tracelog Enumguid Display.

Tracelog использует функцию EnumerateTraceGuids для реализации команды tracelog -enumguid. Дополнительные сведения об этой функции см. в документации по пакету SDK для Microsoft Windows.

-enumguidex [#guid]
Перечисляет поставщиков (или списков) в системе, зарегистрированной в трассировке событий для Windows (ETW). Описание отображения EnumguidEx см. в разделе Tracelog Enumguid Display.

Tracelog использует функцию EnumerateTraceGuidsEx для реализации команды tracelog -enumguidex. Дополнительные сведения об этой функции см. в документации по пакету SDK для Microsoft Windows.

-flush [LoggerName]
Очищает активные буферы сеанса трассировки LoggerName . Если параметр LoggerName не указан, tracelog очищает буферы сеанса трассировки ядра NT.

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

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

Очистка не отключает поставщика трассировки или не перенаправляет сообщения трассировки. После очистки буферов поставщик трассировки продолжает записывать события в буферы.

Tracelog использует функцию FlushTrace для реализации команды tracelog -flush. Дополнительные сведения об этой функции см. в документации по пакету SDK для Microsoft Windows.

Команду tracelog -flush можно использовать с параметром -f Logfile для очистки сообщений трассировки, которые в настоящее время находятся в буфере, в указанный файл журнала трассировки (etl). Этот параметр действителен только для буферных сеансов трассировки (буферизация); для других типов сеансов трассировки параметр -f игнорируется.

Эта очистка влияет только на текущее содержимое буфера. Он не перенаправляет будущие сообщения трассировки в журнал трассировки.

-l [-lp]
Выводит список свойств всех сеансов трассировки, выполняемых на компьютере.

Если вы передайте параметр -lp , Tracelog также перечислит всех поставщиков, включенных в каждый сеанс.

-q [LoggerName] [-lp]
Перечисляет (запросы) свойства указанного сеанса трассировки. Если параметр LoggerName не указан, tracelog запрашивает сеанс трассировки средства ведения журнала NT.

Если вы передаете параметр -lp , Tracelog также перечислит всех поставщиков, включенных в сеанс.

-remove GlobalLogger
Удаляет и повторно инициализирует значения реестра для сеанса трассировки глобального средства ведения журнала. Он задает значение начальной записи равным 0 (не запускайте) и удаляет другие записи реестра. Команда tracelog -remove работает только для сеансов трассировки глобального средства ведения журнала. Все остальные значения имени сеанса недопустимы.

Команда tracelog -remove не требуется. Однако если значение начальной записи не задано значение 0, сеанс глобального средства ведения журнала запускается при каждой перезагрузке системы.

Если команда tracelog -remove не используется, параметры предыдущего сеанса по-прежнему находятся в реестре, и они будут использоваться для нового сеанса, если вы не отправляете команду tracelog -start с различными значениями для тех же параметров.

-start [LoggerName]
Запускает сеанс трассировки с помощью параметра LoggerName , выбранного для представления сеанса трассировки.

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

Имя ведения журнала может быть любым именем, которое соответствует рекомендациям по именованию Windows, до 1024 символов. Если имя содержит пробелы, заключите имя в кавычки. Tracelog не учитывает регистр.

По умолчанию используется средство ведения журнала ядра NT. Если этот параметр опущен, tracelog запускает сеанс трассировки nt Kernel Logger и объявляет ошибку при использовании параметра -guid для указания другого поставщика трассировки.

-stop [LoggerName]
Отключает поставщиков в указанном сеансе трассировки, а затем завершает сеанс.

Команда tracelog -stop отключает поставщиков трассировки и останавливает сеанс трассировки. Команда tracelog -disable отключает только поставщиков трассировки.

Если запустить сеанс глобального ведения журнала загрузки, который отслеживает события ядра, необходимо использовать трассировку команды -stop "NT Kernel Logger" или tracelog -stop GlobalLogger, чтобы остановить его. При использовании любой из команд для остановки сеанса трассировки сеанса трассировки сеанса глобального журнала журнала трассировки Трассировки трассировки Трассировка останавливает поставщика, но не сбрасывает значения записей реестра. Чтобы сбросить значения записей реестра Global Logger, используйте трассировку -remove.

-systemrundown [LoggerName]
Запрашивает SystemTraceProvider события запуска журнала, направленные на сеанс LogerName . Сведения о запуске сеанса трассировки см. в статье "Настройка и запуск сеанса SystemTraceProvider".

Эта команда доступна только в Windows 8 и более поздних версиях Windows.

-Времени ожидания ценность
Указывает значение времени ожидания в миллисекундах (мс), используемое при включении поставщиков с помощью команды tracelog -enable . Время ожидания по умолчанию — 0.

Если значение времени ожидания равно 0, tracelog вызовет обратный вызов каждого поставщика и возвращается немедленно, не ожидая завершения обратного вызова.

Чтобы включить синхронную синхронизацию поставщиков, укажите значение времени ожидания. Если указать значение времени ожидания, tracelog будет ожидать завершения обратного вызова каждого поставщика или истечения времени ожидания.

При включении нескольких поставщиков одновременно время ожидания применяется к каждому из них последовательно.

-update [LoggerName]
Команда tracelog -update изменяет свойства сеанса трассировки во время его выполнения.

В команде tracelog -update параметр -guid действителен только при обновлении частного сеанса трассировки (-um). Чтобы добавить или удалить поставщиков из стандартного сеанса трассировки во время выполнения сеанса, используйте трассировку -enable и tracelog -disable commands.

При запуске сеанса журнала трассировки (-f) можно обновить до сеанса реального времени (-rt), но сообщения продолжают отправляться в журнал трассировки в дополнение к потребителю трассировки. Вы не можете исключить журнал из сеанса, обновив его. Однако прежде чем добавлять доставку сообщений в режиме реального времени в сеанс журнала трассировки, сначала необходимо использовать команду tracelog -flush для очистки буферов.

Если вы запускаете сеанс в режиме реального времени (-rt), а затем обновляете сеанс журнала трассировки (-f), новые сообщения трассировки больше не отправляются непосредственно потребителю трассировки; они отправляются только в журнал трассировки. Чтобы добавить журнал трассировки в сеанс трассировки в режиме реального времени, используйте команду -rt и -f в команде tracelog -update . Прежде чем добавлять доставку сообщений в режиме реального времени в сеанс журнала трассировки, необходимо сначала использовать команду tracelog -flush для очистки буферов.

Невозможно обновить сеанс трассировки глобального средства ведения журнала.

Для закрытого (пользовательского) сеанса трассировки можно обновить только имя файла журнала (-f) и значение таймера очистки (-ft).

Чтобы обновить флаги и уровни, используйте команду tracelog -enable , чтобы повторно включить поставщик с новыми флагами или уровнями.

Tracelog использует функцию ControlTrace для реализации команды tracelog -update. Дополнительные сведения об этой функции см. в документации по пакету SDK для Microsoft Windows.

[параметры]

-addtotriagedump

Примечание.

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

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

-прибавлять
Добавляет сообщения трассировки в файл журнала трассировки событий (etl), указанный параметром -f . По умолчанию создается новый файл.

Этот параметр действителен только в командах, которые включают -f и не включают -rt или -cir.

-b BufferSize
Задает размер в КБ каждого буфера, выделенного для сеанса трассировки. Значение по умолчанию определяется количеством процессоров, объемом физической памяти и используемой операционной системой.

-bt n
Указывает число буферов, которые необходимо заполнить, прежде чем начать очистку буферов. Этот параметр доступен начиная с Windows 8.1.

-буферизация
Запускает буферный сеанс трассировки.

В буферизованном сеансе трассировки сообщения трассировки сохраняются в буферах трассировки. Они не отправляются потребителю трассировки или записываются в журнал трассировки.

-циркуляция MaxFileSize
Указывает циклическое ведение журнала (в конце файла, запись новых сообщений по старым сообщениям) в файле журнала трассировки событий (etl). MaxFileSize указывает максимальный размер файла в МБ. Без значения MaxFileSize этот параметр игнорируется.

Значение по умолчанию — это последовательное ведение журнала без ограничения размера файла.

-см
Включает трассировку доступа к реестру (Configuration Manager). Этот параметр действителен только для сеанса трассировки средства ведения журнала ядра NT.

-critsec
Трассирует критические события раздела для процесса в частном сеансе трассировки. Вы можете запустить средство ведения журнала критически важных разделов в любом процессе пользовательского режима, даже если он не инструментирован для трассировки.

Используйте -pids для указания процесса. Не используйте -guid с -critsec. Система определяет пользовательский GUID (CritSecGuid) для критически важных трассировок разделов. Нельзя использовать -кучу и -critsec в той же команде.

-dpcisr
Включает трассировку отложенных вызовов процедур (DPCs), запросов на прерывание служб (ISR), событий загрузки изображений (-img) и переключений контекста в ядре. Этот параметр действителен только для сеанса трассировки средства ведения журнала ядра NT.

Этот параметр поддерживается только в версии Tracelog, включенной в комплект драйверов Windows для Windows Vista и более поздних версий WDK. Параметр –dpcisr нельзя использовать с параметром -eflag .

Используйте параметр -UsePerfCounter с -dpcisr. Этот параметр, предоставляющий уникальную метку времени для каждого события, требуется tracerpt, инструмент, используемый для форматирования и интерпретации событий DPC/ISR. Сведения о интерпретации и форматировании этих событий см. в разделе "Комментарии" ниже.

-eflag n [флаг...]
Включает события ядра с помощью дополнительных флагов для сеансов трассировки средства ведения журнала ядра NT, в частности флаги для включения трассировки событий DPC, ISR и переключения контекста. Параметр -eflag нельзя использовать с параметром –dpcisr .

-enableproperty n
См. описание EnabledProperties в структуре EnableParameters , переданной в качестве параметра в EnableTraceEx2 , для описания и поддерживаемых значений.

-EventIdFilter {-in-out|} **** n **** id1 id2 ...
Указывает фильтр идентификаторов событий с идентификаторами n (разрешено не более 64 идентификаторов событий). Этот параметр доступен начиная с Windows 8.1.

-ExeFilter Executable_file [; Executable_file ...]
Задает имена исполняемых файлов для фильтрации. Список файлов можно указать. Разделите имена файлов с запятой. Файлы, не перечисленные, исключены. Этот параметр доступен начиная с Windows 8.1.

-f [LogFile]
Запускает сеанс журнала трассировки. LogFile указывает путь (необязательно) и имя файла журнала трассировки событий (etl). Значение по умолчанию — C:\LogFile.etl. Чтобы поместить файл на удаленный компьютер, добавьте имя компьютера или IP-адрес в путь.

При использовании -rt с -f сообщения трассировки отправляются потребителю и в файл журнала трассировки событий. Нельзя использовать -rt или -f с буферизацией.

-fio
Включает трассировку событий ввода-вывода файлов. Этот параметр действителен только для сеанса трассировки средства ведения журнала ядра NT.

-флаг Флаг

Примечание.

Флаги заменены ключевыми словами. Используйте -matchanykw , если вы не включаете поставщик WPP.

Указывает флаги трассировки для поставщиков в сеансе трассировки. Значение флага определяет, какие события генерирует поставщик трассировки.

Флаг представляет значение флага , определенное в поставщике трассировки в десятичном или шестнадцатеричном формате. Значение по умолчанию равно 0. Значения от 0x01000000 до 0xFF000000 зарезервированы для дальнейшего использования.

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

Значение флага, указанное в команде tracelog -start , применяется ко всем поставщикам трассировки в сеансе трассировки. Чтобы задать разные флаги для каждого поставщика трассировки, используйте трассировку -enable.

-фут FlushTime
Указывает частоту очистки буферов сообщений трассировки в секундах. Минимальное время очистки составляет 1 секунду. Значение по умолчанию равно 0 (без принудительного сброса).

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

См. команду tracelog -flush.

-guid {#GUID | file | *name}
Включает указанные поставщики трассировки.

Если указан файл, tracelog включает трассировку для всех поставщиков, указанных в файле. Файл должен быть отформатирован следующим образом:

; comment line
guid1;matchanykeyword;level
guid2;matchanykeyword;level

Если указан GUID поставщика, идентификатор GUID должен быть предупрецирован знаком номера (#).

Если указано имя поставщика, то имя должно быть предопределено звездочкой (*). Затем имя будет преобразовано в GUID с помощью того же алгоритма, что и . Источник событий NET. Затем этот GUID будет использоваться для включения поставщика.

Если этот параметр не указан, поставщики трассировки не будут отправлять сообщения в сеанс трассировки. Однако после запуска сеанса трассировки можно использовать команду tracelog -enable , чтобы включить один или несколько поставщиков трассировки для сеанса.

-gs
Создает глобальный номер последовательности для каждого сообщения трассировки.

Глобальные порядковые номера уникальны для всех сеансов трассировки на компьютере. По умолчанию номера последовательности отсутствуют.

Этот параметр недопустим в сеансе трассировки средства ведения журнала ядра NT.

-куча
Трассирует события памяти кучи для процесса пользовательского режима. Вы можете запустить средство ведения журнала процесса кучи в любом процессе пользовательского режима, даже в том, который не инструментирован для трассировки.

Используйте -pids для указания процесса. Не используйте -guid с кучей. Система определяет пользовательский GUID (HeapGuid) для трассировки памяти кучи. Нельзя использовать -кучу и -critsec в той же команде.

-hf
Включает трассировку ошибок жесткой страницы (ошибки страниц, требующие разрешения доступа к диску). Этот параметр действителен только для сеанса трассировки средства ведения журнала ядра NT.

-hybridshutdown {stop|persist}
Управляет поведением средства ведения журнала гибридного завершения работы. Этот параметр доступен начиная с Windows 8.

Остановка приведет к остановке сеанса при выполнении гибридного завершения работы системы. сохранение приведет к продолжению сеанса после повторного запуска системы из гибридного завершения работы.

-img
Включает трассировку событий загрузки изображения. Этот параметр действителен только для сеанса трассировки средства ведения журнала ядра NT.

-независимый

Примечание.

В каждом сеансе трассировки должен быть включен независимый режим.

Включает независимый режим сеанса трассировки. Независимый режим позволяет сеансу собирать события, которые были удалены другими сеансами, не зависящими от него. Этот параметр доступен начиная с Windows 8.1.

-бз
Используйте килобайты (КБ) для размера файла журнала. Значение по умолчанию — мегабайты (МБ).

-kd
Перенаправляет сообщения трассировки в KD или Windbg, независимо от того, что подключено. Этот параметр также задает размер буфера трассировки в 3 КБ, максимальный размер буфера для отладчика и игнорирует все параметры -b в команде.

Отладчик должен выполняться при отправке команды Tracelog с помощью -kd. В противном случае tracelog перестает отвечать.

Сведения о отображении сообщений трассировки в отладчике ядра см. в комментариях.

-Lbr *EventName[**+EventName+...]:Filter[,*Filter,...]
Настройте трассировку LBR для событий ядра.

Используйте справку -eflag для списка событий ядра.

-уровень n
Задает уровень трассировки для поставщиков в сеансе трассировки. Уровень определяет, какие события генерирует поставщик трассировки.

Уровень представляет значение уровня в десятичном или шестнадцатеричном формате. Значение по умолчанию равно 0.

Значение значения уровня определяется независимо каждым поставщиком трассировки. Как правило, уровень трассировки представляет серьезность события (сведения, предупреждение или ошибка).

Значение уровня, указанное в команде tracelog -start , применяется ко всем поставщикам трассировки в сеансе трассировки. Чтобы задать разные уровни для каждого поставщика трассировки, используйте трассировку -enable.

-lowcapacity

Примечание.

Этот параметр не следует использовать, если не требуется для уменьшения затрат на память. Использование этого параметра делает каждое событие медленнее в журнал.

Использует один буфер за раз для сбора событий, созданных на нескольких процессорах. Этот параметр выбирает режим ведения журнала EVENT_TRACE_NO_PER_PROCESSOR_BUFFERING. Дополнительные сведения см. в пакете SDK для Windows.

-ls
Создает локальный порядковый номер для каждого сообщения трассировки.

Локальные порядковые номера уникальны в сеансе трассировки. По умолчанию номера последовательности отсутствуют.

Этот параметр недопустим в сеансе трассировки средства ведения журнала ядра NT.

-Макс NumberOfBuffers
Указывает максимальное количество буферов, выделенных tracelog для сеанса трассировки. Значение по умолчанию определяется количеством процессоров, объемом физической памяти и используемой операционной системой.

-matchallkw n
Указывает битовую маску MatchAllKeyWord , которая ограничивает категорию событий, которые поставщик записывает и используется в сочетании с параметром -matchanykw .

Эта битовая маска является необязательной. Если ключевое слово события соответствует условию, указанному в параметре -matchanykw , поставщик будет записывать событие только в том случае, если все биты в этой маске существуют в ключевом слове события. Эта маска не используется, если значение -matchanykw равно нулю.

Tracelog передает значение n в параметре MatchAllKeyWord вызова функции EnableTraceEx2. Дополнительные сведения см. в пакете SDK для Windows.

-matchanykw n
Указывает битовую маску MatchAnyKeyword , которая определяет категорию событий, записываемых поставщиком.

Поставщик записывает событие, если любой из ключевых слов события соответствует любому из битов, заданных в этой маске. Tracelog передает значение n в параметре MatchAnyKeyWord вызова функции EnableTraceEx2. Дополнительные сведения см. в пакете SDK для Windows.

-Мин NumberOfBuffers
Указывает количество буферов, изначально выделенных для хранения сообщений трассировки. Когда буферы заполнены, tracelog выделяет больше буферов, пока не достигнет максимального значения. Значение по умолчанию определяется количеством процессоров, объемом физической памяти и используемой операционной системой.

-newfile MaxFileSize
Создает новый файл журнала трассировки событий (etl), когда существующий файл достигает MaxFileSize. MaxFileSize указывает максимальный размер каждого файла журнала в МБ. Без значения MaxFileSize этот параметр игнорируется.

При использовании -newfile необходимо также использовать параметр -f LogFile, а значение LogFile должно быть именем, которое содержит символы %d, чтобы указать десятичный шаблон, например trace%d.etl. В противном случае команда завершается ошибкой с ERROR_INVALID_NAME. Windows увеличивает десятичное значение в имени файла при каждом создании нового файла.

Этот параметр недопустим с предварительной локализацией (-prealloc), циклическим ведением журнала (-cir), сеансом ведения журнала ядра NT или для частных сеансов трассировки.

-nodisk
Отключает трассировку событий ввода-вывода физического диска. Этот параметр действителен только для сеанса трассировки средства ведения журнала ядра NT.

-нонет
Отключает трассировку событий ПРОТОКОЛА TCP/IP и протокола пользовательской диаграммы данных (UDP). Этот параметр действителен только для сеанса трассировки средства ведения журнала ядра NT.

-noprocess
Отключает трассировку начала и окончания каждого процесса. Этот параметр действителен только для сеанса трассировки средства ведения журнала ядра NT.

-nothread
Отключает трассировку начала и конца каждого потока. Этот параметр действителен только для сеанса трассировки средства ведения журнала ядра NT.

-Вызвала
Использует страницируемую память для буферов сообщений трассировки. По умолчанию трассировка событий использует неизменяемую память для буферов.

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

-pids #PIDs PID [PID...]
Указывает процессы пользовательского режима, в которых выполняется сеанс трассировки кучи или критически важный сеанс трассировки разделов. Допустимо только с -кучей или -critsec.

#PIDs указывает количество идентификаторов процессов, перечисленных с помощью этого параметра. PID представляет идентификатор процесса. С помощью этого параметра можно указать до десяти пин-кодов.

Вывод списка нескольких ИДЕНТИФИКАТОРов, когда поставщик выполняется в нескольких процессах, например при создании нескольких процессов в одной программе.

-PidFilter n pid1 pid2 ...
Задает фильтр Pid с n Pids (максимум 8 разрешено). Этот параметр доступен начиная с Windows 8.1.

-pf
Включает трассировку всех ошибок страниц. Этот параметр действителен только для сеанса трассировки средства ведения журнала ядра NT.

-PkgIdFilter Полное имя пакета [ ****Полное имя пакета...]
Задает фильтр идентификатора пакета. Список файлов пакета можно указать. Разделите имена файлов с запятой.

-PkgAppIdFilter PRAID [**;**PRAID...]
Указывает фильтр идентификатора приложения (PRAID) относительно пакета. PRAID — это уникальный идентификатор приложения в пакете. Можно указать несколько PRAID. Разделите идентификаторы с запятой. Этот параметр доступен для приложений UWP, начиная с Windows 8.1.

-Pmc Ctr1,Ctr2,...:Name+Name+...
Настраивает выборку счетчика монитора производительности (PMC) для указанных событий ядра. Этот параметр доступен начиная с Windows 8.

Используйте справку -ProfileSource для списка счетчиков. Используйте справку -eflag для списка событий ядра.

-prealloc
Резервирует место для ETL-файла перед началом сеанса.

Для этого параметра требуется -seq или -cir с MaxFileSize. Недопустимый файл - newfile.

-ProfileSource src
Настройте используемый источник профилирования. Для списка источников используйте командный журнал трассировки -ProfileSource Help. Этот параметр доступен начиная с Windows 8.

Этот параметр доступен только в Windows 8 и более поздних версиях Windows.

-rt
Запускает сеанс трассировки в режиме реального времени. (Сеанс журнала трассировки (-f) — это значение по умолчанию.)

При использовании -rt и -f сообщения трассировки отправляются потребителю трассировки и в файл журнала трассировки событий. Нельзя использовать -rt или -f с буферизацией. Дополнительные сведения см. в разделе "Сеанс трассировки".

-безопасный
Включает трассировку в безопасном режиме. Этот параметр выбирает режим EVENT_TRACE_SECURE_MODE ведения журнала. Ограничивает пользователей, которые могут регистрировать события сеанса с разрешениями TRACELOG_LOG_EVENT.

-sessionguid
Указывает значение реестра GUID сеанса автолога.

-SetProfInt n **** src

Внимание

Изменение интервала профилирования не рекомендуется.

Настройте интервал профилирования (n) для указанного источника, где n находится в единицах 100ns. Значение по умолчанию — 10000 (эквивалентно 1 мс). Этот параметр доступен начиная с Windows 8.

-последовательный MaxFileSize
Указывает последовательное ведение журнала (в конце файла, остановка записи событий) в файл журнала трассировки событий (etl). MaxFileSize указывает максимальный размер файла в МБ. Без значения MaxFileSize этот параметр игнорируется.

Последовательное ведение журнала — это значение по умолчанию, но этот параметр можно использовать для задания максимального размера файла или использования -prealloc. Без этого параметра нет ограничения размера файла.

-sourceguid SourceGuid
Указывает GUID, переданный в качестве параметра SourceId в функции EnableTraceEx или EnableTraceEx2. SourceId определяет сеанс, в котором включен поставщик.

-stackwalk [события]
Указывает события ядра для сбора стеков. Используйте справку -eflag для списка событий ядра. Этот параметр действителен только для сеансов трассировки средства ведения журнала ядра NT или системного средства ведения журнала.

-StackWalkFilter {-in-out|}nid1 id2 ...
Задает фильтр идентификаторов событий с идентификаторами событий n (разрешено не более 64 идентификаторов событий). Этот параметр доступен начиная с Windows 8.1.

-systemlogger
Средство ведения журнала может получать события SystemTraceProvider. См. раздел "Настройка и запуск сеанса SystemTraceProvider". Этот параметр доступен начиная с Windows 8.

-um
Указывает частный сеанс трассировки Этот параметр необходим для частного сеанса трассировки.

-UseCPUCycle
Использует частоту процессора (также называемую "тиками ЦП") для измерения времени каждого сообщения трассировки.

Этот таймер обеспечивает максимально возможное разрешение, но настолько чувствительно, что он подвержен ошибкам, особенно на управляемых питанием системах и многопроцессорных компьютерах. Например, если указать этот таймер на компьютере с процессором Arm, это может привести к неупорядоченным событиям. Вместо этого -UsePerfCounter рекомендуется для трассировки с высоким разрешением.

-UsePerfCounter — это таймер по умолчанию для трассировки событий.

-UsePerfCounter
Записывает значение часов счетчика производительности с высоким разрешением, а не системного времени более низкого разрешения с каждым сообщением трассировки.

Так как счетчик производительности счетчика производительности учитывается примерно в 100-наносекундах единиц, он предоставляет уникальную метку времени для каждого события.

-UsePerfCounter — это таймер по умолчанию для трассировки событий.

-UseSystemTime
Записывает системное время, а не время счетчика производительности с высоким разрешением, с каждым сообщением трассировки. Так как системный таймер имеет разрешение 10 миллисекунд (по сравнению с 100 наносекундами для часов счетчика производительности), несколько событий могут иметь одно и то же системное время.

-UsePerfCounter — это таймер по умолчанию для трассировки событий.

-? | справка | -?
Отображает сведения об использовании.

Комментарии

Следующие комментарии применяются к нескольким командам Tracelog.

Синтаксические ошибки

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

Системные средства ведения журнала

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

Enumguid

Чтобы определить, была ли команда tracelog -start или tracelog -enable , используйте команду tracelog -enumguid , чтобы определить, включены ли поставщики, а затем используйте команду tracelog -l (List) для проверки свойств сеанса трассировки.

Сеансы в режиме реального времени и журналов

Сеанс трассировки может быть как сеансом трассировки в режиме реального времени, так и сеансом журнала трассировки. Если включить параметры -rt (в режиме реального времени) и -f (сеанс журнала) в ту же команду, система отправляет содержимое буфера как в журнал, так и в потребитель трассировки. Однако перед добавлением доставки сообщений в режиме реального времени в сеанс журнала трассировки буферы необходимо очистить с помощью команды tracelog -flush .

Если вы запускаете сеанс в режиме реального времени (-rt), а затем обновляется до сеанса журнала (-f), все новые сообщения трассировки отправляются только в файл журнала. Чтобы добавить файл журнала в сеанс реального времени, используйте команду -rt и -f в команде tracelog -update .

При запуске сеанса журнала (-f) можно обновить до сеанса реального времени (-rt), но сообщения продолжают отправляться в журнал в дополнение к потребителю трассировки. Вы не можете исключить журнал из сеанса, обновив его.

Чтобы отобразить или сохранить сообщения трассировки из сеанса только в режиме реального времени, можно также использовать потребитель трассировки, например Tracefmt, или использовать TraceView, который является контроллером трассировки (например, Tracelog) и потребителем трассировки. При использовании Tracefmt обязательно включите параметр -rt в команду Tracefmt.

Флаги и уровни

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

Чтобы убедиться, что сообщения трассировки всегда создаются, выполните следующие действия.

  1. Задайте для параметра флагов значение 0xFFFFFFFF, чтобы включить все параметры флага.

  2. Задайте для параметра levels значение 255, чтобы включить все параметры уровня.

Параметр -eflag

Tracelog имеет параметр -eflag (расширенные флаги), предназначенный для включения дополнительных флагов для сеанса трассировки трассировки ядра NT, в частности флаги для включения трассировки событий DPC, ISR и переключения контекста. Так как команда tracelog -start теперь включает параметр -dpcisr, использование параметра -eflag больше не требуется и не рекомендуется.

Устаревшие параметры

В предыдущих версиях Tracelog команда tracelog -start поддерживает сочетание параметров -rt b . Эта комбинация заменена параметром буферизации и больше не является допустимым.

Параметр -x был удален, так как остановка всех сеансов трассировки может привести к нестабильности системы.

Параметр -disableex был удален. Вместо этого используйте -disable .

Средство ведения журнала ядра NT

Чтобы запустить сеанс трассировки с помощью средства ведения журнала ядра NT, опустите имя сеанса из команды tracelog -start и не используйте параметр -GUID для указания GUID-файла поставщика. "Nt Kernel Logger" — это имя сеанса по умолчанию.

Если имя сеанса опущено или " NT Kernel Logger", система запускает сеанс трассировки средства ведения журнала ядра NT, даже если используется параметр -guid для указания GUID, отличного от SystemTraceControlGUID, guid элемента управления для сеанса трассировки средства ведения журнала ядра NT. Если указать другой GUID, система возвращает ошибку ("System Logger не принимает guid приложений"), но по-прежнему запускает сеанс трассировки средства ведения журнала ядра NT.

По умолчанию, когда tracelog запускает сеанс трассировки средства ведения журнала ядра NT, он включает трассировки процессов, потоков, физических операций ввода-вывода и TCP/IP-событий, но можно использовать параметры для отключения трассировки этих событий и включения трассировки других событий.

События DPC/ISR

Так как Tracerpt ожидает время счетчика производительности системы в качестве метки времени, используйте параметр Tracelog -UsePerfCounter при запуске сеанса трассировки.

Так как события DPC и ISR собираются специальным инструментированием, они не отображаются в строке трассировки в включенной таблице, которая отображается в журнале трассировок для подтверждения команды.

Дополнительные сведения см. в примере 15. Измерение времени DPC/ISR.