События, описанные в этой статье, собирают сведения, относящиеся к методам. Полезные данные этих событий необходимы для разрешения символов. Кроме того, эти события предоставляют полезные сведения, такие как методы, загруженные и выгруженные. Дополнительные сведения об использовании этих событий для диагностики см. в ведения журнала и трассировки приложений .NET.
Все события метода имеют уровень "Информационный (4)". Все подробные события метода имеют уровень "Подробные (5)".
Все события метода вызываются ключевым словом JITKeyword (0x10) или ключевым словом NGenKeyword (0x20) в поставщике среды выполнения или JitRundownKeyword (0x10) или NGENRundownKeyword (0x20) под поставщиком запуска.
Версии 2 этих событий включают ReJITID, версии 1 не выполняются.
событие MethodLoad_V1
В следующей таблице показаны сведения о событии:
| Событие |
Идентификатор события |
Описание |
MethodLoad_V1 |
141 |
Вызывается при загрузке метода jIT-загрузки или загрузки образа NGEN. Динамические и универсальные методы не используют эту версию для загрузки методов. Вспомогательные средства JIT никогда не используют эту версию. |
| Ключевое слово для вызова события |
Уровень |
поставщик среды выполнения JITKeyword (0x10) |
Информационные (4) |
поставщик среды выполнения NGenKeyword (0x20) |
Информационные (4) |
| Имя поля |
Тип данных |
Описание |
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
| Событие |
Идентификатор события |
Описание |
MethodLoad_V2 |
141 |
Вызывается при загрузке метода jIT-загрузки или загрузки образа NGEN. Динамические и универсальные методы не используют эту версию для загрузки методов. Вспомогательные средства JIT никогда не используют эту версию. |
| Ключевое слово для вызова события |
Уровень |
поставщик среды выполнения JITKeyword (0x10) |
Информационные (4) |
поставщик среды выполнения NGenKeyword (0x20) |
Информационные (4) |
| Имя поля |
Тип данных |
Описание |
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
| Событие |
Идентификатор события |
Описание |
MethodUnLoad_V1 |
142 |
Вызывается при выгрузке модуля или уничтожен домене приложения. Динамические методы никогда не используют эту версию для выгрузки методов. |
| Ключевое слово для вызова события |
Уровень |
JITKeyword (0x10) |
Информационные (4) |
NGenKeyword (0x20) |
Информационные (4) |
| Имя поля |
Тип данных |
Описание |
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
| Событие |
Идентификатор события |
Описание |
MethodUnLoad_V2 |
142 |
Вызывается при выгрузке модуля или уничтожен домене приложения. Динамические методы никогда не используют эту версию для выгрузки методов. |
| Ключевое слово для вызова события |
Уровень |
JITKeyword (0x10) |
Информационные (4) |
NGenKeyword (0x20) |
Информационные (4) |
| Имя поля |
Тип данных |
Описание |
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
| Событие |
Идентификатор события |
Описание |
R2RGetEntryPoint |
159 |
Вызывается при завершении поиска точки входа R2R. |
| Ключевое слово для вызова события |
Уровень |
CompilationDiagnosticKeyword (0x2000000000) |
Информационные (4) |
| Имя поля |
Тип данных |
Описание |
MethodID |
win:UInt64 |
Уникальный идентификатор метода R2R. |
MethodNamespace |
win:UnicodeString |
Пространство имен метода, просматриваемое. |
MethodName |
win:UnicodeString |
Имя искать метод. |
MethodSignature |
win:UnicodeString |
Сигнатура метода (разделенный запятыми список имен типов). |
EntryPoint |
win:UInt64 |
Указатель на точку входа метода R2R |
ClrInstanceID |
win:UInt16 |
Уникальный идентификатор для экземпляра CoreCLR. |
Событие R2RGetEntryPointStart
| Событие |
Идентификатор события |
Описание |
R2RGetEntryPointStart |
160 |
Вызывается при запуске подстановки точки входа R2R. |
| Ключевое слово для вызова события |
Уровень |
CompilationDiagnosticKeyword (0x2000000000) |
Информационные (4) |
| Имя поля |
Тип данных |
Описание |
MethodID |
win:UInt64 |
Уникальный идентификатор метода R2R. |
ClrInstanceID |
win:UInt16 |
Уникальный идентификатор для экземпляра CoreCLR. |
событие MethodLoadVerbose_V1
| Событие |
Идентификатор события |
Описание |
MethodLoadVerbose_V1 |
143 |
Вызывается при загрузке метода JIT-файла или загрузки образа NGEN. Динамические и универсальные методы всегда используют эту версию для загрузки методов. Вспомогательные средства JIT всегда используют эту версию. |
| Ключевое слово для вызова события |
Уровень |
JITKeyword (0x10) |
Информационные (4) |
NGenKeyword (0x20) |
Информационные (4) |
| Имя поля |
Тип данных |
Описание |
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
| Событие |
Идентификатор события |
Описание |
MethodLoadVerbose_V1 |
143 |
Вызывается при загрузке метода JIT-файла или загрузки образа NGEN. Динамические и универсальные методы всегда используют эту версию для загрузки методов. Вспомогательные средства JIT всегда используют эту версию. |
| Ключевое слово для вызова события |
Уровень |
JITKeyword (0x10) |
Информационные (4) |
NGenKeyword (0x20) |
Информационные (4) |
| Имя поля |
Тип данных |
Описание |
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
| Событие |
Идентификатор события |
Описание |
MethodUnLoadVerbose_V1 |
144 |
Вызывается при уничтожении динамического метода, выгрузке модуля или уничтожен домене приложения. Динамические методы всегда используют эту версию для выгрузки методов. |
| Ключевое слово для вызова события |
Уровень |
JITKeyword (0x10) |
Информационные (4) |
NGenKeyword (0x20) |
Информационные (4) |
| Имя поля |
Тип данных |
Описание |
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
| Событие |
Идентификатор события |
Описание |
MethodUnLoadVerbose_V2 |
144 |
Вызывается при уничтожении динамического метода, выгрузке модуля или уничтожен домене приложения. Динамические методы всегда используют эту версию для выгрузки методов. |
| Ключевое слово для вызова события |
Уровень |
JITKeyword (0x10) |
Информационные (4) |
NGenKeyword (0x20) |
Информационные (4) |
| Имя поля |
Тип данных |
Описание |
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) |
| Событие |
Идентификатор события |
Описание |
MethodJittingStarted_V1 |
145 |
Вызывается при компиляции JIT-метода. |
| Имя поля |
Тип данных |
Описание |
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) |
| Событие |
Идентификатор события |
Описание |
MethodJitInliningSucceeded |
185 |
Вызывается, когда метод успешно встраиваются компилятором JIT. |
| Имя поля |
Тип данных |
Описание |
MethodBeingCompiledNamespace |
win:UnicodeString |
Пространство имен скомпилированного метода. |
MethodBeingCompiledName |
win:UnicodeString |
Имя скомпилированного метода. |
MethodBeingCompiledNameSignature |
win:UnicodeString |
Сигнатура метода (разделенный запятыми список имен типов) компилируется. |
InlinerNamespace |
win:UnicodeString |
Пространство имен метода inliner (parent). |
InlinerName |
win:UnicodeString |
Имя метода inliner (parent). |
InlinerNameSignature |
win:UnicodeString |
Сигнатура метода inliner (parent) (разделенный запятыми список имен типов). |
InlineeNamespace |
win:UnicodeString |
Пространство имен встроенного (дочернего) метода. |
InlineeName |
win:UnicodeString |
Имя встроенного (дочернего) метода. |
InlineeNameSignature |
win:UnicodeString |
Сигнатура встроенного метода (дочерний) (разделенный запятыми список имен типов). |
ClrInstanceID |
win:UInt16 |
Уникальный идентификатор для экземпляра CoreCLR. |
Событие MethodJitInliningFailed
| Ключевое слово для вызова события |
Уровень |
JITTracingKeyword (0x1000) |
Подробные (5) |
| Событие |
Идентификатор события |
Описание |
MethodJitInliningFailed |
192 |
Вызывается, когда метод не был вложен компилятором JIT. |
| Имя поля |
Тип данных |
Описание |
MethodBeingCompiledNamespace |
win:UnicodeString |
Пространство имен скомпилированного метода. |
MethodBeingCompiledName |
win:UnicodeString |
Имя скомпилированного метода. |
MethodBeingCompiledNameSignature |
win:UnicodeString |
Сигнатура метода (разделенный запятыми список имен типов) компилируется. |
InlinerNamespace |
win:UnicodeString |
Пространство имен метода inliner (parent). |
InlinerName |
win:UnicodeString |
Имя метода inliner (parent). |
InlinerNameSignature |
win:UnicodeString |
Сигнатура метода inliner (parent) (разделенный запятыми список имен типов). |
InlineeNamespace |
win:UnicodeString |
Пространство имен встроенного (дочернего) метода. |
InlineeName |
win:UnicodeString |
Имя встроенного (дочернего) метода. |
InlineeNameSignature |
win:UnicodeString |
Сигнатура встроенного метода (дочерний) (разделенный запятыми список имен типов). |
FailAlways |
win:Boolean |
Указывает, помечен ли метод как неустранимый. |
FailReason |
win:UnicodeString |
Сбой встраивание причин. |
ClrInstanceID |
win:UInt16 |
Уникальный идентификатор для экземпляра CoreCLR. |
Событие MethodJitTailCallSucceeded
| Ключевое слово для вызова события |
Уровень |
JITTracingKeyword (0x1000) |
Подробные (5) |
| Событие |
Идентификатор события |
Описание |
MethodJitTailCallSucceeded |
192 |
Вызывается компилятором JIT, когда метод может быть успешно вызван. |
| Имя поля |
Тип данных |
Описание |
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 |
Указывает, является ли это инструкцией префикса хвоста. |
TailCallType |
win:UInt32 |
Тип вызова хвоста.
0. Оптимизированный вызов хвоста (эпилог + jmp)
1. Рекурсивный вызов хвоста (сам метод вызывает хвост)
2. Вспомогательный вспомогательный вызов хвоста |
ClrInstanceID |
win:UInt16 |
Уникальный идентификатор для экземпляра CoreCLR. |
Событие MethodJitTailCallFailed
| Ключевое слово для вызова события |
Уровень |
JITTracingKeyword (0x1000) |
Подробные (5) |
| Событие |
Идентификатор события |
Описание |
MethodJitTailCallFailed |
191 |
Вызывается компилятором JIT, когда метод не был вызван хвостом. |
| Имя поля |
Тип данных |
Описание |
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) |
| Событие |
Идентификатор события |
Описание |
MethodILToNativeMap |
190 |
Сопоставляет событие сопоставления il-to-native для методов, скомпилированных JIT. |
| Имя поля |
Тип данных |
Описание |
MethodID |
win:UInt64 |
Уникальный идентификатор метода. |
ReJITID |
win:UInt64 |
Идентификатор ReJIT метода. |
MethodExtent |
win:UInt8 |
Степень для метода jitted. |
CountOfMapEntries |
win:UInt16 |
Количество записей карты |
ILOffsets |
win:UInt32 |
Смещение IL. |
NativeOffsets |
win:UInt32 |
Смещение машинного кода. |
ClrInstanceID |
win:UInt16 |
Уникальный идентификатор для экземпляра CoreCLR. |