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


События методов (трассировка событий Windows)

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

Для всех событий методов используется уровень "информационный (4)". Для всех подробных событий методов используется уровень "подробный (5)".

Все события методов создаются с помощью ключевых слов JITKeyword (0x10) или NGenKeyword (0x20) при использовании поставщика времени выполнения или с помощью ключевых слов JitRundownKeyword (0x10) или NGENRundownKeyword (0x20) при использовании поставщика очистки.

События методов среды CLR затем делятся на следующие категории.

  • События методов среды CLR

  • События маркеров среды CLR

  • Подробные события методов среды CLR

  • Событие MethodJittingStarted

События методов среды CLR

В следующей таблице показаны ключевое слово и уровень. (Дополнительные сведения см. в разделе Ключевые слова и уровни среды CLR (трассировка событий Windows).)

Ключевое слово для вызова события

Уровень

Поставщик среды выполнения JITKeyword (0x10)

Информационный (4)

Поставщик среды выполнения NGenKeyword (0x20)

Информационный (4)

Поставщик очистки JitRundownKeyword (0x10)

Информационный (4)

Поставщик очистки NGENRundownKeyword (0x20)

Информационный (4)

В следующей таблице приведены сведения о событии.

Событие

Идентификатор события

Описание

MethodLoad_V1

136

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

MethodUnLoad_V1

137

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

MethodDCStart_V1

137

Перечисляет методы во время очистки запуска.

MethodDCEnd_V1

138

Перечисляет методы во время очистки окончания.

В следующей таблице приведены сведения о событии.

Имя поля

Тип данных

Описание

MethodID

win:UInt64

Уникальный идентификатор метода. Для вспомогательных методов JIT устанавливается равным начальному адресу метода.

ModuleID

win:UInt64

Идентификатор модуля, к которому относится этот метод (0 для вспомогательных методов JIT).

MethodStartAddress

win:UInt64

Начальный адрес метода.

MethodSize

win:UInt32

Размер метода.

MethodToken

win:UInt32

0 для динамических методов и вспомогательных методов JIT.

MethodFlags

win:UInt32

0x1: динамический метод.

0x2: универсальный метод

0x4: метод с кодом, скомпилированным JIT-компилятором (в противном случае неуправляемый код образа NGEN).

0x8: вспомогательный метод.

ClrInstanceID

win:UInt16

Уникальный идентификатор экземпляра среды CLR или CoreCLR.

К началу

События маркеров среды CLR

Эти события создаются только при использовании поставщика очистки. Они обозначают окончание перечисления методов во время очистки запуска или окончания. (То есть они создаются, когда включено ключевое слово NGENRundownKeyword, JitRundownKeyword, LoaderRundownKeyword или AppDomainResourceManagementRundownKeyword.)

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

Ключевое слово для вызова события

Уровень

Поставщик очистки AppDomainResourceManagementRundownKeyword (0x800)

Информационный (4)

Поставщик очистки JitRundownKeyword (0x10)

Информационный (4)

Поставщик очистки NGENRundownKeyword (0x20)

Информационный (4)

В следующей таблице приведены сведения о событии.

Событие

Идентификатор события

Описание

DCStartInit_V1

147

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

DCStartComplete_V1

147

Отправляется по окончании перечисления во время очистки запуска.

DCEndInit_V1

145

Отправляется перед началом перечисления во время очистки окончания.

DCEndComplete_V1

148

Отправляется по окончании перечисления во время очистки окончания.

В следующей таблице приведены сведения о событии.

Имя поля

Тип данных

Описание

ClrInstanceID

win:UInt16

Уникальный идентификатор экземпляра среды CLR или CoreCLR.

К началу

Подробные события методов среды CLR

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

Ключевое слово для вызова события

Уровень

Поставщик среды выполнения JITKeyword (0x10)

Детальный (5)

Поставщик среды выполнения NGenKeyword (0x20)

Детальный (5)

Поставщик очистки JitRundownKeyword (0x10)

Детальный (5)

Поставщик очистки NGENRundownKeyword (0x20)

Детальный (5)

В следующей таблице приведены сведения о событии.

Событие

Идентификатор события

Описание

MethodLoadVerbose_V1

143

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

MethodUnLoadVerbose_V1

144

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

MethodDCStartVerbose_V1

141

Перечисляет методы во время очистки запуска.

MethodDCEndVerbose_V1

142

Перечисляет методы во время очистки окончания.

В следующей таблице приведены сведения о событии.

Имя поля

Тип данных

Описание

MethodID

win:UInt64

Уникальный идентификатор метода. Для вспомогательных методов JIT устанавливается равным начальному адресу метода.

ModuleID

win:UInt64

Идентификатор модуля, к которому относится этот метод (0 для вспомогательных методов JIT).

MethodStartAddress

win:UInt64

Начальный адрес.

MethodSize

win:UInt32

Длина метода.

MethodToken

win:UInt32

0 для динамических методов и вспомогательных методов JIT.

MethodFlags

win:UInt32

0x1: динамический метод.

0x2: универсальный метод

0x4: метод, скомпилированный JIT-компилятором (в противном случае, созданный NGen.exe)

0x8: вспомогательный метод.

MethodNameSpace

win:UnicodeString

Полное имя пространства имен, связанного с методом.

MethodName

win:UnicodeString

Полное имя класса, связанного с методом.

MethodSignature

win:UnicodeString

Сигнатура метода (разделенный запятыми список имен типов).

ClrInstanceID

win:UInt16

Уникальный идентификатор экземпляра среды CLR или CoreCLR.

К началу

Событие MethodJittingStarted

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

Ключевое слово для вызова события

Уровень

Поставщик среды выполнения JITKeyword (0x10)

Детальный (5)

Поставщик среды выполнения NGenKeyword (0x20)

Детальный (5)

Поставщик очистки JitRundownKeyword (0x10)

Детальный (5)

Поставщик очистки NGENRundownKeyword (0x20)

Детальный (5)

В следующей таблице приведены сведения о событии.

Событие

Идентификатор события

Описание

MethodJittingStarted

145

Вызывается, когда метод компилируется JIT-компилятором.

В следующей таблице приведены сведения о событии.

Имя поля

Тип данных

Описание

MethodID

win:UInt64

Уникальный идентификатор метода.

ModuleID

win:UInt64

Идентификатор модуля, к которому относится этот метод.

MethodToken

win:UInt32

0 для динамических методов и вспомогательных методов JIT.

MethodILSize

win:UInt32

Размер MSIL для JIT-компилируемого метода.

MethodNameSpace

win:UnicodeString

Полное имя класса, связанного с методом.

MethodName

win:UnicodeString

Имя метода.

MethodSignature

win:UnicodeString

Сигнатура метода (разделенный запятыми список имен типов).

ClrInstanceID

win:UInt16

Уникальный идентификатор экземпляра среды CLR или CoreCLR.

К началу

См. также

Основные понятия

События трассировки событий Windows в среде CLR