Сеанс трассировки глобального средства ведения журнала
Статья
Сеанс трассировки глобального средства ведения журнала записывает события, которые происходят во время загрузки до полной работы системы, например события, созданные драйверами устройств. Это зарезервированный сеанс трассировки, встроенный в Windows.
Сеансы трассировки глобального средства ведения журнала всегда записывают сообщения в журнал трассировки. Глобальное средство ведения журнала не поддерживает сеансы трассировки в режиме реального времени или буферизированные сеансы трассировки.
Так как средство глобального ведения журнала должно быть доступно в начале процесса загрузки операционной системы, оно запускается и настраивается с помощью записей реестра (в подразделе HKLM\SYSTEM\CurrentControlSet\Control\WMI\GlobalLogger ) вместо вызовов функций. После запуска глобальное средство ведения журнала ведет себя как обычный сеанс трассировки событий.
Сеанс трассировки Global Logger использует зарезервированное имя сеанса GlobalLogger. GUID элемента управления представлен константой GlobalLoggerGuid. Создайте сеанс трассировки глобального средства ведения журнала, а затем перезагрузите компьютер, чтобы запустить сеанс трассировки. Одновременно на компьютере может выполняться только один сеанс трассировки глобального средства ведения журнала.
Чтобы создать сеанс трассировки глобального средства ведения журнала, используйте tracelog. Он автоматически создает подраздел реестра и записи, в которые хранятся параметры сеанса трассировки. Сеанс трассировки глобального средства ведения журнала запускается при перезагрузке компьютера. Дополнительные сведения см. в разделе Синтаксис команды Tracelog.
Чтобы отформатировать сообщения трассировки из сеанса трассировки глобального средства ведения журнала, используйте Tracefmt с system.tmf— файлом формата сообщений трассировки , включенным в WDK.
Так как сеанс глобального средства ведения журнала активируется записями реестра, он запускается каждый раз, когда записи отображаются в реестре. Чтобы предотвратить запуск сеанса глобального средства ведения журнала при каждом запуске системы, задайте для записи Start значение 0 или удалите все записи реестра.
Ограничения сеанса трассировки глобального средства ведения журнала
Сеанс трассировки глобального средства ведения журнала очень полезен, но важно учитывать его ограничения:
Одновременно можно запустить только один сеанс глобального средства ведения журнала.
Сеанс глобального средства ведения журнала не отправляет уведомления о включении поставщикам.
Записи глобального реестра средства ведения журнала остаются в реестре и действуют до тех пор, пока вы не сбросите или не удалите их вручную или не выполните команду tracelog -remove . Пока вы не сбросите их, сеанс глобального средства ведения журнала запускается каждый раз при запуске системы.
Средство ведения журнала Windows ACPI навсегда включено для сеанса трассировки глобального средства ведения журнала. Сообщения трассировки от этого средства ведения журнала отображаются в журнале трассировки.
Если стандартный сеанс трассировки запускается, когда драйвер регистрируется в сеансе глобального средства ведения журнала, драйвер переключается и начинает ведение журнала в стандартном сеансе трассировки.
Записи глобального реестра средства ведения журнала
В следующей таблице показаны записи реестра, которые настраивают сеанс глобального средства ведения журнала. Эти записи находятся в подразделе HKLM\SYSTEM\CurrentControlSet\Control\WMI\GlobalLogger . Требуется только запись "Пуск ".
В дополнение к записям реестра в этой таблице можно также добавить подраздел ControlGUID в подраздел GlobalLogger , чтобы представить поставщик трассировки, например драйвер, который регистрируется в сеансе трассировки Global Logger. Дополнительные сведения см. в разделе Ведение журнала в сеансе глобального средства ведения журнала.
Ввод
Тип данных
Описание
Запуск
REG_DWORD
Если задано значение 1 (включено), сеанс глобального средства ведения журнала запускается при следующем запуске системы.
0 = выкл., 1 = вкл.
BufferSize
REG_DWORD
Задает размер каждого буфера (в КБ). Значение по умолчанию — 0x40 (64 КБ).
ClockType
REG_DWORD
Указывает таймер, используемый для меток времени сообщений трассировки.
Начиная с Windows Vista, значение по умолчанию — 1. В операционных системах до Windows Vista значение по умолчанию — 2.
1 = значение счетчика производительности (высокое разрешение)
2 = системный таймер
3 = время цикла ЦП
EnableKernelFlags
REG_BINARY
Преобразует сеанс глобального средства ведения журнала в сеанс трассировки nt kernel Logger и задает события, включенные в трассировку ядра.
Хранит количество файлов журнала трассировки событий, созданных сеансами глобального средства ведения журнала.
Система увеличивает это значение, пока не достигнет значения FileMax. Затем он сбрасывает значение 0.
Этот счетчик не позволяет системе перезаписывать файл журнала трассировки глобального средства ведения журнала.
FileMax
REG_DWORD
Указывает максимальное количество файлов журнала трассировки событий, разрешенное в системе.
Когда число журналов трассировки достигает указанного максимума, система начинает перезаписывать журналы, начиная с самых старых.
Значение по умолчанию — 0, что означает, что максимальное значение отсутствует.
FileName
REG_SZ
Путь (необязательно) и имя файла журнала трассировки событий. Значение по умолчанию — %SystemRoot%\System32\LogFiles\WMI\trace.log.
FlushTimer
REG_DWORD
Указывает, как часто (в секундах) принудительно очищаются буферы трассировки. Эта принудительная очистка является дополнением к автоматической очистке, которая происходит при заполнении буфера и при остановке сеанса трассировки.
Значение по умолчанию — 0. По умолчанию буферы очищаются только при заполнении.
Минимальное время очистки — 1 секунда.
LogFileMode
REG_DWORD
Задает параметры сеанса журнала.
Поддерживается только в Windows Vista и более поздних версиях Windows.
MaximumBuffers
REG_DWORD
Задает максимальное количество буферов, которые могут быть выделены для сеанса. Значение по умолчанию — 0x19 (25).
MaximumFileSize
REG_DWORD
Указывает максимальный размер файла журнала трассировки событий. По умолчанию максимальный размер файла отсутствует.
MinimumBuffers
REG_DWORD
Указывает количество буферов, выделенных при запуске сеанса. Значение по умолчанию — 0x3.
Состояние
REG_DWORD
Хранит код возврата при попытке запустить сеанс трассировки глобального средства ведения журнала.
Если сеанс не удалось запустить, значением этой записи будет код ошибки Win32. Если сеанс запущен, значение этой записи будет ERROR_SUCCESS.
Эти записи реестра, которые вы создаете, остаются в реестре и действуют до тех пор, пока вы не удалите их или не измените их значения. Поэтому после запуска сеанса глобального ведения журнала используйте команду tracelog -remove GlobalLogger , чтобы задать для записи Start значение 0 и удалить другие записи реестра global logger. В противном случае сеанс глобального средства ведения журнала запускается при каждой перезагрузке компьютера, и результирующий файл журнала может очень увеличиться.
Константы режима ведения журнала
В следующей таблице показаны допустимые значения для записи реестра LogFileMode в подразделе HKLM\System\CurrentControlSet\Control\WMI\GlobalLogger . Эта запись используется для задания параметров для сеанса трассировки глобального средства ведения журнала, в том числе для сеансов трассировки в режиме реального времени, частных сеансов трассировки, циклического ведения журнала и буферизации (без журнала). Эта запись реестра поддерживается только в Windows Vista и более поздних версиях Windows.
Эта запись реестра соответствует элементу LogFileMode структуры EVENT_TRACE_PROPERTIES. Его значения соответствуют константам режима ведения журнала. Структура EVENT_TRACE_PROPERTIES и константы режима ведения журнала описаны в документации по Microsoft Windows SDK.
Эта таблица отображается здесь для отображения шестнадцатеричных значений констант. Используйте эти значения или сумму этих значений для представления константы в записи реестра LogFileMode .
Значение
Константа
Описание
0x0
EVENT_TRACE_FILE_MODE_NONE
Файлы журналов трассировки событий не создаются.
0x1
EVENT_TRACE_FILE_MODE_SEQUENTIAL
Файлы журнала трассировки событий являются последовательными.
0x2
EVENT_TRACE_FILE_MODE_CIRCULAR
Файлы журнала трассировки событий являются циклическими.
0x4
EVENT_TRACE_FILE_MODE_APPEND
Добавление сообщений трассировки в существующий файл журнала. Этот режим действителен только для последовательных файлов.
0x8
EVENT_TRACE_FILE_MODE_NEWFILE
Создайте новый файл журнала трассировки событий всякий раз, когда существующий файл достигает значения записи MaximumFileSize (см. таблицу выше).
0x20
EVENT_TRACE_FILE_MODE_PREALLOCATE
Резервирует место для файла журнала трассировки событий.
Допустимо только для EVENT_TRACE_FILE_MODE_SEQUENTIAL или EVENT_TRACE_FILE_MODE_CIRCULAR и недопустимо для EVENT_TRACE_FILE_MODE_NEWFILE.
0x40
EVENT_TRACE_NONSTOPPABLE_MODE
Вызов StopTrace не останавливает сеанс трассировки.
Эта функция не позволяет пользователям останавливать сеансы трассировки, необходимые системе для диагностики и настройки.
0x100
EVENT_TRACE_REAL_TIME_MODE
Задает сеанс трассировки в режиме реального времени.
0x200
EVENT_TRACE_DELAY_OPEN_FILE_MODE
Только для внутреннего использования.
0x400
EVENT_TRACE_BUFFERING_MODE
События сохраняются в буферах. Они никогда не записываются в файл журнала и не доставляются потребителю трассировки.
0x800
EVENT_TRACE_PRIVATE_LOGGER_MODE
Задает закрытый сеанс трассировки. Этот флаг недопустим для сеанса трассировки глобального средства ведения журнала.
0x1000
EVENT_TRACE_ADD_HEADER_MODE
Только для внутреннего использования.
0x2000
EVENT_TRACE_USE_KBYTES_FOR_SIZE
Интерпретируйте значение MaximumFileSize в КБ вместо МБ.
0x4000
EVENT_TRACE_USE_GLOBAL_SEQUENCE
Создает глобальные порядковые номера для сообщений трассировки. Эти числа уникальны для всех сеансов трассировки на компьютере.
По умолчанию сообщения трассировки не имеют порядковых номеров.
0x8000
EVENT_TRACE_USE_LOCAL_SEQUENCE
Создает локальные порядковые номера для сообщений трассировки. Эти числа уникальны в рамках сеанса трассировки.
По умолчанию сообщения трассировки не имеют порядковых номеров.
0x10000
EVENT_TRACE_RELOG_MODE
Только для внутреннего использования.
0x80000
EVENT_TRACE_KD_FILTER_MODE
Перенаправляет сообщения трассировки в отладчик ядра и задает размер буфера трассировки равным 3 КБ( максимальный размер буфера для отладчика).
0x1000000
EVENT_TRACE_MODE_RESERVED
Недопустимо для сеанса трассировки глобального средства ведения журнала.
0x01000000
EVENT_TRACE_USE_PAGED_MEMORY
Выделение буферов сеанса трассировки из страничной памяти. По умолчанию буферы выделяются из непагебельной памяти.
Сведения о том, как выполнять аудит и диагностику для среды Windows Server на предмет соответствия нормативным требованиям, активности пользователей и устранения неполадок. Внедряйте передовые методы обеспечения безопасности с помощью регулярного аудита сетевой среды, чтобы получать своевременные предупреждения о потенциально вредоносных действиях.
Tracelog (Tracelog.exe) — это контроллер трассировки событий, который выполняется в окне командной строки. В этом разделе описывается tracelog, описывается синтаксис команды и приведены практические примеры его использования.