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

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

Примечание

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

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

Параметры

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

[действия]

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

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

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

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

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

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

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

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

Команда 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 kernel Logger. Эта функция предназначена для трассировки событий ядра во время загрузки.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[параметры]

-addtotriagedump

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-enablepropertyn
Описания и поддерживаемые значения см. в описании EnabledProperties в структуре EnableParameters , переданной в качестве параметра в EnableTraceEx2 .

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

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

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

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

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

Флаг -flag

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-Независимые

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

-lowcapacity

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-nonet
Отключает трассировку событий TCP/IP и UDP. Этот параметр действителен только для сеанса трассировки средства ведения журнала ядра NT.

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

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

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

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

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

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

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

-PidFilternpid1 pid2 ...
Задает фильтр pid с n pids (максимум 8 допустимых). Этот параметр доступен начиная с Windows 8.1.

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

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

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

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

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

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

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

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

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

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

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

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

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

-SetProfIntn **** src

Важно!

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

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

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

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

-sourceguidSourceGuid
Указывает 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), все новые сообщения трассировки отправляются только в файл журнала. Чтобы добавить файл журнала в сеанс в режиме реального времени, используйте в команде tracelog -update как -rt, так и -f.

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

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

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

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

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

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

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

Параметр -eflag

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

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

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

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

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

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

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

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

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

События DPC/ISR

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

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

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