Ключевые слова и уровни среды CLR (трассировка событий Windows)
События трассировки событий Windows можно отфильтровать по категории и уровню. Ключевые слова событий трассировки событий Windows в среде CLR обеспечивают фильтрацию событий по категории. Они используются в различных сочетаниях для поставщиков среды выполнения и очистки. Уровни событий определяются флагами.
Ключевые слова трассировки событий Windows в среде CLR
Ключевые слова служат флагами, которые можно объединять для формирования значений. На практике при использовании программ командной строки вместо имен ключевых слов применяются их шестнадцатеричные значения.
В следующих таблицах представлено описание ключевых слов:
Ключевые слова среды выполнения трассировки событий Windows в среде CLR
Сочетания ключевых слов для разрешения символов для поставщика среды выполнения
Сочетания ключевых слов для разрешения символов для поставщика очистки
Ключевые слова среды выполнения трассировки событий Windows в среде CLR
В таблице ниже приведены ключевые слова среды выполнения трассировки событий Windows среды CLR, их значения и предназначение.
Имя ключевого слова среды выполнения | Значение | Назначение |
---|---|---|
GCKeyword |
0x00000001 | Включает сбор событий сборки мусора. |
LoaderKeyword |
0x00000008 | Включает сбор событий загрузчика. |
JITKeyword |
0x00000010 | Включает сбор JIT-событий. |
NGenKeyword |
0x00000020 | Включает сбор событий для методов образов в машинном коде (методы, обрабатываемые генератором образов в машинном коде (Ngen.exe)). Используется с ключевыми словами StartEnumerationKeyword и EndEnumerationKeyword . Использование этого ключевого слова связано с большими издержками. Оно формирует события для каждого метода внутри каждого загружаемого модуля NGen. По возможности вместо этого ключевого слова рекомендуется использовать базы данных программ (PDB), созданные с помощью средств профилирования, для получения сведений о методах из модулей NGen. См. также описание ключевого слова OverrideAndSuppressNGenEventsKeyword далее в этой таблице. |
StartEnumerationKeyword |
0x00000040 | Включает перечисление всех методов во время выполнения; используется вместе с NGenKeyword . |
EndEnumerationKeyword |
0x00000080 | Включает перечисление всех методов, уничтоженных во время выполнения; используется вместе с JITKeyword и NGenKeyword . |
SecurityKeyword |
0x00000400 | Включает сбор событий безопасности. |
AppDomainResourceManagementKeyword |
0x00000800 | Включает сбор событий отслеживания ресурсов на уровне домена приложения. |
JITTracingKeyword |
0x00001000 | Включает сбор событий трассировки JIT-компилятора. |
InteropKeyword |
0x00002000 | Включает сбор событий взаимодействия. |
ContentionKeyword |
0x00004000 | Включает сбор событий состязания. |
ExceptionKeyword |
0x00008000 | Включает сбор событий исключений. |
ThreadingKeyword |
0x00010000 | Включает сбор событий пула потоков. |
OverrideAndSuppressNGenEventsKeyword |
0x00040000 | (Доступно в платформа .NET Framework 4.5 и более поздних версиях.) Подавляет ключевое слово с высокой нагрузкой NGenKeyword и предотвращает создание событий для методов, которые находятся в модулях NGen. Начиная с платформа .NET Framework 4.5 средства профилирования должны использовать OverrideAndSuppressNGenEventsKeyword и NGenKeyword вместе для подавления создания событий для методов в модулях NGen. Это позволяет средству профилирования использовать более эффективные базы данных программы NGen для получения сведений о методах модулей NGen. Среда CLR в .NET Framework 4 и более ранних версиях не поддерживает создание баз данных программы NGen. В более ранних версиях среда CLR не распознает OverrideAndSuppressNGenEventsKeyword и обрабатывает NGenKeyword , создавая события для методов модулей NGen. |
PerfTrackKeyWord |
0x2000000 | Включает сбор событий ModuleLoad и ModuleRange . |
StackKeyword |
0x40000000 | Включает сбор событий трассировки стекасреды CLR. |
Ключевые слова среды очистки трассировки событий Windows в среде CLR
В таблице ниже приведены ключевые слова среды очистки трассировки событий Windows среды CLR, их значения и предназначение.
Имя ключевого слова очистки | Значение | Назначение |
---|---|---|
LoaderRundownKeyword |
0x00000008 | Включает сбор событий загрузчика при использовании с ключевыми словами StartRundownKeyword и EndRundownKeyword . |
JitRundownKeyword |
0x00000010 | Включает сбор событий DCStart и DCEnd методов (скомпилированных JIT-компилятором) при использовании с ключевыми словами StartRundownKeyword и EndRundownKeyword . |
NGenRundownKeyword |
0x00000020 | Включает сбор событий DCStart и DCEnd для методов образов NGen в машинном коде при использовании с ключевыми словами StartRundownKeyword и EndRundownKeyword . Использование этого ключевого слова связано с большими издержками. Оно формирует события для каждого метода внутри каждого загружаемого модуля NGen. По возможности вместо этого ключевого слова рекомендуется использовать базы данных программ (PDB), созданные с помощью средств профилирования, для получения сведений о методах из модулей NGen. См. также описание ключевого слова OverrideAndSuppressNGenEventsRundownKeyword далее в этой таблице. |
StartRundownKeyword |
0x00000040 | Включает перечисление состояния системы во время очистки запуска. |
EndRundownKeyword |
0x00000100 | Включает перечисление состояния системы во время очистки завершения. |
AppDomainResourceManagementRundownKeyword |
0x00000800 | Включает сбор событий для отслеживания ресурсов на уровне AppDomain при использовании с ключевыми словами StartRundownKeyword или EndRundownKeyword . |
ThreadingKeyword |
0x00010000 | Включает сбор событий пула потоков. |
OverrideAndSuppressNGenEventsRundownKeyword |
0x00040000 | (Доступно в платформа .NET Framework 4.5 и более поздних версиях.) Подавляет ключевое слово с высокой нагрузкой NGenRundownKeyword и предотвращает создание событий для методов, которые находятся в модулях NGen. Начиная с платформа .NET Framework 4.5 средства профилирования должны использовать OverrideAndSuppressNGenEventsRundownKeyword и NGenRundownKeyword вместе для подавления создания событий для методов в модулях NGen. Это позволяет средству профилирования использовать более эффективные базы данных программы NGen для получения сведений о методах модулей NGen. Среда CLR в .NET Framework 4 и более ранних версиях не поддерживает создание баз данных программы NGen. В более ранних версиях среда CLR не распознает OverrideAndSuppressNGenEventsRundownKeyword и обрабатывает NGenRundownKeyword , создавая события для методов модулей NGen. |
PerfTrackKeyWord |
0x2000000 | Включает сбор событий ModuleDCStart , ModuleDCEnd , ModuleRangeDCStart и ModuleRangeDCEnd . |
Сочетания ключевых слов для разрешения символов для поставщика среды выполнения
Ключевые слова и флаги | События загрузки и выгрузки доменов приложений, сборок, модулей | События загрузки и выгрузки методов (кроме динамических событий) | События загрузки и уничтожения динамических методов |
---|---|---|---|
LoaderKeyword |
События загрузки и выгрузки. | Нет. | Нет. |
JITKeyword (+ StartEnumerationKeyword ничего не добавляет) |
Нет. | События загрузки. | События загрузки и выгрузки. |
JITKeyword +EndEnumerationKeyword |
Нет. | События загрузки и выгрузки. | События загрузки и выгрузки. |
NGenKeyword |
Нет. | Нет. | Не применяется |
NGenKeyword +StartEnumerationKeyword |
Нет. | События загрузки. | Не применяется |
NGenKeyword +EndEnumerationKeyword |
Нет. | События выгрузки. | Не применяется |
Сочетания ключевых слов для разрешения символов для поставщика очистки
Ключевые слова и флаги | События DCStart и DCEnd для доменов приложений, сборок, модулей | События DCStart и DCEnd методов (включая события динамических методов) |
---|---|---|
LoaderRundownKeyword +StartRundownKeyword |
СобытияDCStart . |
Нет. |
LoaderRundownKeyword +EndRundownKeyword |
СобытияDCEnd . |
Нет. |
JITKeyword +StartRundownKeyword |
Нет. | СобытияDCStart . |
JITKeyword +EndRundownKeyword |
Нет. | СобытияDCEnd . |
NGenKeyword +StartRundownKeyword |
Нет. | СобытияDCStart . |
NGenKeyword +EndRundownKeyword |
Нет. | СобытияDCEnd . |
Уровни событий трассировки событий Windows
События трассировки событий Windows также можно фильтровать по уровням. Если задан уровень 0x5, создаются события всех уровней, включая 0x5 и более низкие (события относятся к категориям, включенным с помощью ключевых слов). Если задан уровень 0x2, создаются только события, относящиеся к уровню 0x2 и более низким.
Уровни имеют следующие значения:
0x5 — Verbose (подробный);
0x4 — Informational (информационный);
0x3 — Warning (предупреждение);
0x2 — Error (ошибка);
0x1 — Critical (критический);
0x0 — LogAlways (регистрировать всегда).