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


Настройка и запуск сеанса SystemTraceProvider

SystemTraceProvider — это поставщик ядра с предопределенными наборами событий ядра, поддерживаемыми в Windows 7, Windows Server 2008 R2 и более поздних версий. В Windows 7 и Windows Server 2008 R2 SystemTraceProvider можно использовать только для сеанса средства ведения журнала ядра NT.

На Windows 8, Windows Server 2012 и более поздних версий SystemTraceProvider можно мультиплексировать для до 8 сеансов средства ведения журнала. Первые два слота для сеансов средства ведения журнала зарезервированы для средства ведения журнала ядра NT и средства ведения журнала контекста циклического ядра .

Дополнительные сведения об использовании сеанса средства ведения журнала ядра NT в качестве поставщика трассировки см. в разделе Настройка и запуск сеанса средства ведения журнала ядра NT.

В Windows 10 сборке пакета SDK 20348 и более поздних версий SystemTraceProvider можно настроить с помощью отдельных системных поставщиков, которыми можно управлять с помощью EnableTraceEx2, например стандартной трассировки событий Windows. Полный список системных поставщиков, ключевых слов и соответствующих устаревших флагов и групп см. в разделе Поставщики системы.

Включение сеанса SystemTraceProvider

Чтобы включить SystemTraceProvider для запуска сеанса, отличного от nt Kernel Logger, выполните следующую команду:

tracelog -start MySession -f c:\Kernel1.etl -eflag PROC_THREAD+LOADER+CSWITCH

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

  • Определите имя частного средства ведения журнала.

    #define PRIVATE_LOGGER_NAME L "Некоторый закрытый сеанс трассировки"

  • На контроллере задайте следующие элементы структуры EVENT_TRACE_PROPERTIES .

    Задайте для параметра LogFileModeзначение EVENT_TRACE_SYSTEM_LOGGER_MODE.

    Вместо KERNEL_LOGGER_NAME задайте для loggerName значение Private Logger.

    Убедитесь, что для элемента Wnode.Guid структуры EVENT_TRACE_PROPERTIES не задано значение SystemTraceControlGuid. Этому элементу необходимо назначить новый GUID .

  • В объекте-получателе задайте для элемента LoggerName структуры EVENT_TRACE_LOGFILE значение этого частного средства ведения журнала.

Примечание

Если вы хотите, чтобы неадминистратор или процесс, не относящийся к TCB, мог запускать сеанс трассировки профилирования с помощью SystemTraceProvider от имени сторонних приложений, необходимо предоставить привилегию профиля пользователя, а затем добавить этого пользователя в guid сеанса (созданный для сеанса средства ведения журнала) и guid поставщика трассировки системы, чтобы включить поставщик трассировки системы. Дополнительные сведения см. в разделе Функция EventAccessControl .

 

Настройка и запуск сеанса частного средства ведения журнала

Настройка и запуск сеанса автозалога

Настройка и запуск сеанса трассировки событий

Настройка и запуск сеанса средства ведения журнала ядра NT

Поставщики систем

Обновление сеанса трассировки событий