События, описанные в этой статье, собирают сведения, относящиеся к методам. Полезные данные этих событий необходимы для разрешения символов. Кроме того, эти события предоставляют полезную информацию, например о загружаемых и выгружаемых методах. Дополнительные сведения об использовании этих событий в целях диагностики см. в статье Ведение журнала и трассировка в приложениях .NET.
Все события методов имеют уровень «Информационный (4)». Все подробные события методов имеют уровень «Подробный (5)».
Все события методов вызываются ключевыми словами JITKeyword (0x10) или NGenKeyword (0x20) при использовании поставщика среды выполнения или ключевыми словами JitRundownKeyword (0x10) или NGENRundownKeyword (0x20) при использовании поставщика очистки.
Версии v2 этих событий включают ReJITID, а версии v1 — нет.
Событие MethodLoad_V1
В таблице ниже представлены сведения о событии.
Мероприятие
Идентификатор события
Description
MethodLoad_V1
141
Вызывается, когда метод является JIT-загружаемым или загружается образ NGEN. Динамические и универсальные методы не используют эту версию для загрузки методов. Вспомогательные методы JIT никогда не используют эту версию.
Ключевое слово для вызова события
Уровень
JITKeyword (0x10)
Информационный (4)
NGenKeyword (0x20)
Информационный (4)
Имя поля
Тип данных
Description
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
Уникальный идентификатор для экземпляра CoreCLR.
Событие MethodLoad_V2
Мероприятие
Идентификатор события
Description
MethodLoad_V2
141
Вызывается, когда метод является JIT-загружаемым или загружается образ NGEN. Динамические и универсальные методы не используют эту версию для загрузки методов. Вспомогательные методы JIT никогда не используют эту версию.
Ключевое слово для вызова события
Уровень
JITKeyword (0x10)
Информационный (4)
NGenKeyword (0x20)
Информационный (4)
Имя поля
Тип данных
Description
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: вспомогательный метод.
ReJITID
win:UInt64
Идентификатор метода ReJIT.
ClrInstanceID
win:UInt16
Уникальный идентификатор для экземпляра CoreCLR.
Событие MethodUnLoad_V1
Мероприятие
Идентификатор события
Description
MethodUnLoad_V1
142
Вызывается, когда выгружается модуль или уничтожается домен приложения. Динамические методы никогда не используют эту версию для выгрузки методов.
Ключевое слово для вызова события
Уровень
JITKeyword (0x10)
Информационный (4)
NGenKeyword (0x20)
Информационный (4)
Имя поля
Тип данных
Description
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
Уникальный идентификатор для экземпляра CoreCLR.
Событие MethodUnLoad_V2
Мероприятие
Идентификатор события
Description
MethodUnLoad_V2
142
Вызывается, когда выгружается модуль или уничтожается домен приложения. Динамические методы никогда не используют эту версию для выгрузки методов.
Ключевое слово для вызова события
Уровень
JITKeyword (0x10)
Информационный (4)
NGenKeyword (0x20)
Информационный (4)
Имя поля
Тип данных
Description
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: вспомогательный метод.
ReJITID
win:UInt64
Идентификатор метода ReJIT.
ClrInstanceID
win:UInt16
Уникальный идентификатор для экземпляра CoreCLR.
Событие R2RGetEntryPoint
Мероприятие
Идентификатор события
Description
R2RGetEntryPoint
159
Возникает при завершении поиска точки входа R2R.
Ключевое слово для вызова события
Уровень
CompilationDiagnosticKeyword (0x2000000000)
Информационный (4)
Имя поля
Тип данных
Description
MethodID
win:UInt64
Уникальный идентификатор метода R2R.
MethodNamespace
win:UnicodeString
Пространство имен метода, поиск которого выполняется.
MethodName
win:UnicodeString
Имя метода, поиск которого выполняется.
MethodSignature
win:UnicodeString
Сигнатура метода (разделенный запятыми список имен типов).
EntryPoint
win:UInt64
Указатель на точку входа метода R2R.
ClrInstanceID
win:UInt16
Уникальный идентификатор для экземпляра CoreCLR.
Событие R2RGetEntryPointStart
Мероприятие
Идентификатор события
Description
R2RGetEntryPointStart
160
Возникает при начале поиска точки входа R2R.
Ключевое слово для вызова события
Уровень
CompilationDiagnosticKeyword (0x2000000000)
Информационный (4)
Имя поля
Тип данных
Description
MethodID
win:UInt64
Уникальный идентификатор метода R2R.
ClrInstanceID
win:UInt16
Уникальный идентификатор для экземпляра CoreCLR.
Событие MethodLoadVerbose_V1
Мероприятие
Идентификатор события
Description
MethodLoadVerbose_V1
143
Вызывается, когда метод является JIT-загружаемым или загружается образ NGEN. Динамические и универсальные методы всегда используют эту версию для загрузки методов. Вспомогательные методы JIT всегда используют эту версию.
Ключевое слово для вызова события
Уровень
JITKeyword (0x10)
Информационный (4)
NGenKeyword (0x20)
Информационный (4)
Имя поля
Тип данных
Description
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
Уникальный идентификатор для экземпляра CoreCLR.
Событие MethodLoadVerbose_V2
Мероприятие
Идентификатор события
Description
MethodLoadVerbose_V1
143
Вызывается, когда метод является JIT-загружаемым или загружается образ NGEN. Динамические и универсальные методы всегда используют эту версию для загрузки методов. Вспомогательные методы JIT всегда используют эту версию.
Ключевое слово для вызова события
Уровень
JITKeyword (0x10)
Информационный (4)
NGenKeyword (0x20)
Информационный (4)
Имя поля
Тип данных
Description
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
Сигнатура метода (разделенный запятыми список имен типов).
ReJITID
win:UInt64
Идентификатор метода ReJIT.
ClrInstanceID
win:UInt16
Уникальный идентификатор для экземпляра CoreCLR.
Событие MethodUnLoadVerbose_V1
Мероприятие
Идентификатор события
Description
MethodUnLoadVerbose_V1
144
Вызывается, когда уничтожается динамический метод, выгружается модуль или разрушается домен приложения. Динамические методы всегда используют эту версию для выгрузки методов.
Ключевое слово для вызова события
Уровень
JITKeyword (0x10)
Информационный (4)
NGenKeyword (0x20)
Информационный (4)
Имя поля
Тип данных
Description
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
Уникальный идентификатор для экземпляра CoreCLR.
Событие MethodUnLoadVerbose_V2
Мероприятие
Идентификатор события
Description
MethodUnLoadVerbose_V2
144
Вызывается, когда уничтожается динамический метод, выгружается модуль или разрушается домен приложения. Динамические методы всегда используют эту версию для выгрузки методов.
Ключевое слово для вызова события
Уровень
JITKeyword (0x10)
Информационный (4)
NGenKeyword (0x20)
Информационный (4)
Имя поля
Тип данных
Description
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
Уникальный идентификатор для экземпляра CoreCLR.
ReJITID
win:UInt64
Идентификатор метода ReJIT.
Событие MethodJittingStarted_V1
В таблице ниже показаны ключевое слово и уровень.
Ключевое слово для вызова события
Уровень
JITKeyword (0x10)
Подробный (5)
NGenKeyword (0x20)
Подробный (5)
Мероприятие
Идентификатор события
Description
MethodJittingStarted_V1
145
Вызывается, когда метод компилируется JIT-компилятором.
Имя поля
Тип данных
Description
MethodID
win:UInt64
Уникальный идентификатор метода.
ModuleID
win:UInt64
Идентификатор модуля, к которому относится этот метод.
MethodToken
win:UInt32
0 для динамических методов и вспомогательных методов JIT.
MethodILSize
win:UInt32
Размер языка CIL для JIT-компилируемого метода.
MethodNameSpace
win:UnicodeString
Полное имя класса, связанного с методом.
MethodName
win:UnicodeString
Имя метода.
MethodSignature
win:UnicodeString
Сигнатура метода (разделенный запятыми список имен типов).
ClrInstanceID
win:UInt16
Уникальный идентификатор для экземпляра CoreCLR.
Событие MethodJitInliningSucceeded
Ключевое слово для вызова события
Уровень
JITTracingKeyword (0x1000)
Подробный (5)
Мероприятие
Идентификатор события
Description
MethodJitInliningSucceeded
185
Возникает, когда метод успешно встраивается компилятором JIT.
Имя поля
Тип данных
Description
MethodBeingCompiledNamespace
win:UnicodeString
Пространство имен компилируемого метода.
MethodBeingCompiledName
win:UnicodeString
Имя компилируемого метода.
MethodBeingCompiledNameSignature
win:UnicodeString
Сигнатура компилируемого метода (разделенный запятыми список имен типов).
InlinerNamespace
win:UnicodeString
Пространство имен встраивающего ("родительского") метода.
InlinerName
win:UnicodeString
Имя встраивающего ("родительского") метода.
InlinerNameSignature
win:UnicodeString
Сигнатура встраивающего ("родительского") метода (разделенный запятыми список имен типов).
InlineeNamespace
win:UnicodeString
Пространство имен встраиваемого ("дочернего") метода.
InlineeName
win:UnicodeString
Имя встраиваемого ("дочернего") метода.
InlineeNameSignature
win:UnicodeString
Сигнатура встраиваемого ("дочернего") метода (разделенный запятыми список имен типов).
ClrInstanceID
win:UInt16
Уникальный идентификатор для экземпляра CoreCLR.
Событие MethodJitInliningFailed
Ключевое слово для вызова события
Уровень
JITTracingKeyword (0x1000)
Подробный (5)
Мероприятие
Идентификатор события
Description
MethodJitInliningFailed
192
Возникает, когда JIT-компилятору не удалось встроить метод.
Имя поля
Тип данных
Description
MethodBeingCompiledNamespace
win:UnicodeString
Пространство имен компилируемого метода.
MethodBeingCompiledName
win:UnicodeString
Имя компилируемого метода.
MethodBeingCompiledNameSignature
win:UnicodeString
Сигнатура компилируемого метода (разделенный запятыми список имен типов).
InlinerNamespace
win:UnicodeString
Пространство имен встраивающего ("родительского") метода.
InlinerName
win:UnicodeString
Имя встраивающего ("родительского") метода.
InlinerNameSignature
win:UnicodeString
Сигнатура встраивающего ("родительского") метода (разделенный запятыми список имен типов).
InlineeNamespace
win:UnicodeString
Пространство имен встраиваемого ("дочернего") метода.
InlineeName
win:UnicodeString
Имя встраиваемого ("дочернего") метода.
InlineeNameSignature
win:UnicodeString
Сигнатура встраиваемого ("дочернего") метода (разделенный запятыми список имен типов).
FailAlways
win:Boolean
Помечен ли метод как невстраиваемый.
FailReason
win:UnicodeString
Причина сбоя встраивания.
ClrInstanceID
win:UInt16
Уникальный идентификатор для экземпляра CoreCLR.
Событие MethodJitTailCallSucceeded
Ключевое слово для вызова события
Уровень
JITTracingKeyword (0x1000)
Подробный (5)
Мероприятие
Идентификатор события
Description
MethodJitTailCallSucceeded
192
Создается JIT-компилятором, когда возможен успешный хвостовой вызов метода.
Имя поля
Тип данных
Description
MethodBeingCompiledNamespace
win:UnicodeString
Пространство имен компилируемого метода.
MethodBeingCompiledName
win:UnicodeString
Имя компилируемого метода.
MethodBeingCompiledNameSignature
win:UnicodeString
Сигнатура компилируемого метода (разделенный запятыми список имен типов).
CallerNamespace
win:UnicodeString
Пространство имен вызывающего метода.
CallerName
win:UnicodeString
Имя вызывающего метода.
CallerNameSignature
win:UnicodeString
Сигнатура вызывающего метода (разделенный запятыми список имен типов).
CalleeNamespace
win:UnicodeString
Пространство имен вызываемого метода.
CalleeName
win:UnicodeString
Имя вызываемого метода.
CalleeNameSignature
win:UnicodeString
Сигнатура вызываемого метода (разделенный запятыми список имен типов).
1: рекурсивный хвостовой вызов (метод выполняет хвостовой вызов самого себя)
2: хвостовой вызов с помощью вспомогательного приложения
ClrInstanceID
win:UInt16
Уникальный идентификатор для экземпляра CoreCLR.
Событие MethodJitTailCallFailed
Ключевое слово для вызова события
Уровень
JITTracingKeyword (0x1000)
Подробный (5)
Мероприятие
Идентификатор события
Description
MethodJitTailCallFailed
191
Создается JIT-компилятором, когда не удалось выполнить хвостовой вызов метода.
Имя поля
Тип данных
Description
MethodBeingCompiledNamespace
win:UnicodeString
Пространство имен компилируемого метода.
MethodBeingCompiledName
win:UnicodeString
Имя компилируемого метода.
MethodBeingCompiledNameSignature
win:UnicodeString
Сигнатура компилируемого метода (разделенный запятыми список имен типов).
CallerNamespace
win:UnicodeString
Пространство имен вызывающего метода.
CallerName
win:UnicodeString
Имя вызывающего метода.
CallerNameSignature
win:UnicodeString
Сигнатура вызывающего метода (разделенный запятыми список имен типов).
CalleeNamespace
win:UnicodeString
Пространство имен вызываемого метода.
CalleeName
win:UnicodeString
Имя вызываемого метода.
CalleeNameSignature
win:UnicodeString
Сигнатура вызываемого метода (разделенный запятыми список имен типов).
TailPrefix
win:Boolean
Является ли это хвостовой префиксной инструкцией.
FailReason
win:UnicodeString
Причина сбоя хвостового вызова.
ClrInstanceID
win:UInt16
Уникальный идентификатор для экземпляра CoreCLR.
Событие MethodILToNativeMap
Ключевое слово для вызова события
Уровень
JittedMethodILToNativeMapKeyword (0x20000)
Подробный (5)
Мероприятие
Идентификатор события
Description
MethodILToNativeMap
190
Сопоставляет событие сопоставления IL-машинного с JIT-скомпилированными методами.
Имя поля
Тип данных
Description
MethodID
win:UInt64
Уникальный идентификатор метода.
ReJITID
win:UInt64
Идентификатор ReJIT метода.
MethodExtent
win:UInt8
Охват JIT-скомпилированного метода.
CountOfMapEntries
win:UInt16
Число записей сопоставлений.
ILOffsets
win:UInt32
Смещение IL.
NativeOffsets
win:UInt32
Смещение машинного кода.
ClrInstanceID
win:UInt16
Уникальный идентификатор для экземпляра CoreCLR.
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.