Compartilhar via


Eventos de método de runtime do .NET

Os eventos descritos neste artigo coletam informações específicas aos métodos. O conteúdo desses eventos é necessário para a resolução de símbolos. Além disso, esses eventos fornecem informações úteis, como métodos carregados e descarregados. Para obter mais informações sobre como usar esses eventos para fins de diagnóstico, consulte registro em log e rastreamento de aplicativos .NET.

Todos os eventos de método têm um nível de "Informativo (4)". Todos os eventos detalhados do método têm um nível de "Detalhado (5)".

Todos os eventos de método são gerados pela palavra-chave JITKeyword (0x10) ou pela palavra-chave NGenKeyword (0x20) no provedor de runtime ou JitRundownKeyword (0x10) ou NGENRundownKeyword (0x20) no provedor de rundown.

As versões V2 desses eventos incluem o ReJITID, as versões V1 não.

evento MethodLoad_V1

A tabela a seguir mostra as informações do evento:

Acontecimento ID do evento Descrição
MethodLoad_V1 141 Gerado quando um método é carregado just-in-time (carregado por JIT) ou uma imagem NGEN é carregada. Métodos dinâmicos e genéricos não usam essa versão para cargas de método. Os auxiliares do JIT nunca usam essa versão.
Palavra-chave para elevar o evento Nível
provedor de runtime JITKeyword (0x10) Informativo (4)
provedor de runtime NGenKeyword (0x20) Informativo (4)
Nome do campo Tipo de dado Descrição
MethodID win:UInt64 Identificador exclusivo de um método. Para métodos auxiliares JIT, isso é definido como o endereço inicial do método.
ModuleID win:UInt64 Identificador do módulo ao qual este método pertence (0 para auxiliares JIT).
MethodStartAddress win:UInt64 Endereço inicial do método.
MethodSize win:UInt32 Tamanho do método.
MethodToken win:UInt32 0 para métodos dinâmicos e auxiliares JIT.
MethodFlags win:UInt32 0x1: método dinâmico.

0x2: método genérico.

0x4: método de código compilado por JIT (caso contrário, código de imagem nativo NGEN).

0x8: método auxiliar.
ClrInstanceID win:UInt16 ID exclusiva para a instância do CoreCLR.

evento MethodLoad_V2

Acontecimento ID do evento Descrição
MethodLoad_V2 141 Gerado quando um método é carregado just-in-time (carregado por JIT) ou uma imagem NGEN é carregada. Métodos dinâmicos e genéricos não usam essa versão para cargas de método. Os auxiliares do JIT nunca usam essa versão.
Palavra-chave para elevar o evento Nível
provedor de runtime JITKeyword (0x10) Informativo (4)
provedor de runtime NGenKeyword (0x20) Informativo (4)
Nome do campo Tipo de dado Descrição
MethodID win:UInt64 Identificador exclusivo de um método. Para métodos auxiliares JIT, isso é definido como o endereço inicial do método.
ModuleID win:UInt64 Identificador do módulo ao qual este método pertence (0 para auxiliares JIT).
MethodStartAddress win:UInt64 Endereço inicial do método.
MethodSize win:UInt32 Tamanho do método.
MethodToken win:UInt32 0 para métodos dinâmicos e auxiliares JIT.
MethodFlags win:UInt32 0x1: método dinâmico.

0x2: método genérico.

0x4: método de código compilado por JIT (caso contrário, código de imagem nativo NGEN).

0x8: método auxiliar.
ReJITID win:UInt64 ID reJIT do método.
ClrInstanceID win:UInt16 ID exclusiva para a instância do CoreCLR.

evento MethodUnLoad_V1

Acontecimento ID do evento Descrição
MethodUnLoad_V1 142 Gerado quando um módulo é descarregado ou um domínio de aplicativo é destruído. Os métodos dinâmicos nunca usam essa versão para descarregamentos de método.
Palavra-chave para elevar o evento Nível
JITKeyword (0x10) Informativo (4)
NGenKeyword (0x20) Informativo (4)
Nome do campo Tipo de dado Descrição
MethodID win:UInt64 Identificador exclusivo de um método. Para métodos auxiliares JIT, isso é definido como o endereço inicial do método.
ModuleID win:UInt64 Identificador do módulo ao qual este método pertence (0 para auxiliares JIT).
MethodStartAddress win:UInt64 Endereço inicial do método.
MethodSize win:UInt32 Tamanho do método.
MethodToken win:UInt32 0 para métodos dinâmicos e auxiliares JIT.
MethodFlags win:UInt32 0x1: método dinâmico.

0x2: método genérico.

0x4: método de código compilado por JIT (caso contrário, código de imagem nativo NGEN).

0x8: método auxiliar.
ClrInstanceID win:UInt16 ID exclusiva para a instância do CoreCLR.

evento MethodUnLoad_V2

Acontecimento ID do evento Descrição
MethodUnLoad_V2 142 Gerado quando um módulo é descarregado ou um domínio de aplicativo é destruído. Os métodos dinâmicos nunca usam essa versão para descarregamentos de método.
Palavra-chave para elevar o evento Nível
JITKeyword (0x10) Informativo (4)
NGenKeyword (0x20) Informativo (4)
Nome do campo Tipo de dado Descrição
MethodID win:UInt64 Identificador exclusivo de um método. Para métodos auxiliares JIT, isso é definido como o endereço inicial do método.
ModuleID win:UInt64 Identificador do módulo ao qual este método pertence (0 para auxiliares JIT).
MethodStartAddress win:UInt64 Endereço inicial do método.
MethodSize win:UInt32 Tamanho do método.
MethodToken win:UInt32 0 para métodos dinâmicos e auxiliares JIT.
MethodFlags win:UInt32 0x1: método dinâmico.

0x2: método genérico.

0x4: método de código compilado por JIT (caso contrário, código de imagem nativo NGEN).

0x8: método auxiliar.
ReJITID win:UInt64 ID reJIT do método.
ClrInstanceID win:UInt16 ID exclusiva para a instância do CoreCLR.

Evento R2RGetEntryPoint

Acontecimento ID do evento Descrição
R2RGetEntryPoint 159 Gerado quando uma pesquisa de ponto de entrada R2R termina.
Palavra-chave para elevar o evento Nível
CompilationDiagnosticKeyword (0x2000000000) Informativo (4)
Nome do campo Tipo de dado Descrição
MethodID win:UInt64 Identificador exclusivo de um método R2R.
MethodNamespace win:UnicodeString O namespace do método que está sendo pesquisado.
MethodName win:UnicodeString O nome do método que está sendo pesquisado.
MethodSignature win:UnicodeString Assinatura do método (lista separada por vírgulas de nomes de tipo).
EntryPoint win:UInt64 O ponteiro para o ponto de entrada do método R2R
ClrInstanceID win:UInt16 ID exclusiva para a instância do CoreCLR.

Evento R2RGetEntryPointStart

Acontecimento ID do evento Descrição
R2RGetEntryPointStart 160 Gerado quando uma pesquisa de ponto de entrada R2R é iniciada.
Palavra-chave para elevar o evento Nível
CompilationDiagnosticKeyword (0x2000000000) Informativo (4)
Nome do campo Tipo de dado Descrição
MethodID win:UInt64 Identificador exclusivo de um método R2R.
ClrInstanceID win:UInt16 ID exclusiva para a instância do CoreCLR.

evento MethodLoadVerbose_V1

Acontecimento ID do evento Descrição
MethodLoadVerbose_V1 143 Gerado quando um método é carregado por JIT ou uma imagem NGEN é carregada. Métodos dinâmicos e genéricos sempre usam essa versão para cargas de método. Os auxiliares do JIT sempre usam essa versão.
Palavra-chave para elevar o evento Nível
JITKeyword (0x10) Informativo (4)
NGenKeyword (0x20) Informativo (4)
Nome do campo Tipo de dado Descrição
MethodID win:UInt64 Identificador exclusivo do método. Para métodos auxiliares JIT, defina como o endereço inicial do método.
ModuleID win:UInt64 Identificador do módulo ao qual este método pertence (0 para auxiliares JIT).
MethodStartAddress win:UInt64 Endereço inicial.
MethodSize win:UInt32 Comprimento do método.
MethodToken win:UInt32 0 para métodos dinâmicos e auxiliares JIT.
MethodFlags win:UInt32 0x1: método dinâmico.

0x2: método genérico.

0x4: método compilado por JIT (caso contrário, gerado por NGen.exe)

0x8: método auxiliar.
MethodNameSpace win:UnicodeString Nome completo do namespace associado ao método.
MethodName win:UnicodeString Nome de classe completo associado ao método.
MethodSignature win:UnicodeString Assinatura do método (lista separada por vírgulas de nomes de tipo).
ClrInstanceID win:UInt16 ID exclusiva para a instância do CoreCLR.

evento MethodLoadVerbose_V2

Acontecimento ID do evento Descrição
MethodLoadVerbose_V1 143 Gerado quando um método é carregado por JIT ou uma imagem NGEN é carregada. Métodos dinâmicos e genéricos sempre usam essa versão para cargas de método. Os auxiliares do JIT sempre usam essa versão.
Palavra-chave para elevar o evento Nível
JITKeyword (0x10) Informativo (4)
NGenKeyword (0x20) Informativo (4)
Nome do campo Tipo de dado Descrição
MethodID win:UInt64 Identificador exclusivo do método. Para métodos auxiliares JIT, defina como o endereço inicial do método.
ModuleID win:UInt64 Identificador do módulo ao qual este método pertence (0 para auxiliares JIT).
MethodStartAddress win:UInt64 Endereço inicial.
MethodSize win:UInt32 Comprimento do método.
MethodToken win:UInt32 0 para métodos dinâmicos e auxiliares JIT.
MethodFlags win:UInt32 0x1: método dinâmico.

0x2: método genérico.

0x4: método compilado por JIT (caso contrário, gerado por NGen.exe)

0x8: método auxiliar.
MethodNameSpace win:UnicodeString Nome completo do namespace associado ao método.
MethodName win:UnicodeString Nome de classe completo associado ao método.
MethodSignature win:UnicodeString Assinatura do método (lista separada por vírgulas de nomes de tipo).
ReJITID win:UInt64 ID reJIT do método.
ClrInstanceID win:UInt16 ID exclusiva para a instância do CoreCLR.

evento MethodUnLoadVerbose_V1

Acontecimento ID do evento Descrição
MethodUnLoadVerbose_V1 144 Gerado quando um método dinâmico é destruído, um módulo é descarregado ou um domínio de aplicativo é destruído. Os métodos dinâmicos sempre usam essa versão para descarregamentos de método.
Palavra-chave para elevar o evento Nível
JITKeyword (0x10) Informativo (4)
NGenKeyword (0x20) Informativo (4)
Nome do campo Tipo de dado Descrição
MethodID win:UInt64 Identificador exclusivo do método. Para métodos auxiliares JIT, defina como o endereço inicial do método.
ModuleID win:UInt64 Identificador do módulo ao qual este método pertence (0 para auxiliares JIT).
MethodStartAddress win:UInt64 Endereço inicial.
MethodSize win:UInt32 Comprimento do método.
MethodToken win:UInt32 0 para métodos dinâmicos e auxiliares JIT.
MethodFlags win:UInt32 0x1: método dinâmico.

0x2: método genérico.

0x4: método compilado por JIT (caso contrário, gerado por NGen.exe)

0x8: método auxiliar.
MethodNameSpace win:UnicodeString Nome completo do namespace associado ao método.
MethodName win:UnicodeString Nome de classe completo associado ao método.
MethodSignature win:UnicodeString Assinatura do método (lista separada por vírgulas de nomes de tipo).
ClrInstanceID win:UInt16 ID exclusiva para a instância do CoreCLR.

evento MethodUnLoadVerbose_V2

Acontecimento ID do evento Descrição
MethodUnLoadVerbose_V2 144 Gerado quando um método dinâmico é destruído, um módulo é descarregado ou um domínio de aplicativo é destruído. Os métodos dinâmicos sempre usam essa versão para descarregamentos de método.
Palavra-chave para elevar o evento Nível
JITKeyword (0x10) Informativo (4)
NGenKeyword (0x20) Informativo (4)
Nome do campo Tipo de dado Descrição
MethodID win:UInt64 Identificador exclusivo do método. Para métodos auxiliares JIT, defina como o endereço inicial do método.
ModuleID win:UInt64 Identificador do módulo ao qual este método pertence (0 para auxiliares JIT).
MethodStartAddress win:UInt64 Endereço inicial.
MethodSize win:UInt32 Comprimento do método.
MethodToken win:UInt32 0 para métodos dinâmicos e auxiliares JIT.
MethodFlags win:UInt32 0x1: método dinâmico.

0x2: método genérico.

0x4: método compilado por JIT (caso contrário, gerado por NGen.exe)

0x8: método auxiliar.
MethodNameSpace win:UnicodeString Nome completo do namespace associado ao método.
MethodName win:UnicodeString Nome de classe completo associado ao método.
MethodSignature win:UnicodeString Assinatura do método (lista separada por vírgulas de nomes de tipo).
ClrInstanceID win:UInt16 ID exclusiva para a instância do CoreCLR.
ReJITID win:UInt64 ID reJIT do método.

evento MethodJittingStarted_V1

A tabela a seguir mostra a palavra-chave e o nível:

Palavra-chave para elevar o evento Nível
JITKeyword (0x10) Detalhado (5)
NGenKeyword (0x20) Detalhado (5)
Acontecimento ID do evento Descrição
MethodJittingStarted_V1 145 Gerado quando um método está sendo compilado por JIT.
Nome do campo Tipo de dado Descrição
MethodID win:UInt64 Identificador exclusivo do método.
ModuleID win:UInt64 Identificador do módulo ao qual este método pertence.
MethodToken win:UInt32 0 para métodos dinâmicos e auxiliares JIT.
MethodILSize win:UInt32 O tamanho da CIL (Common Intermediate Language) para o método que está sendo compilado por JIT.
MethodNameSpace win:UnicodeString Nome de classe completo associado ao método.
MethodName win:UnicodeString Nome do método.
MethodSignature win:UnicodeString Assinatura do método (lista separada por vírgulas de nomes de tipo).
ClrInstanceID win:UInt16 ID exclusiva para a instância do CoreCLR.

Evento MethodJitInliningSucceeded

Palavra-chave para elevar o evento Nível
JITTracingKeyword (0x1000) Detalhado (5)
Acontecimento ID do evento Descrição
MethodJitInliningSucceeded 185 Gerado quando um método é sublinhado com êxito pelo compilador JIT.
Nome do campo Tipo de dado Descrição
MethodBeingCompiledNamespace win:UnicodeString Namespace do método que está sendo compilado.
MethodBeingCompiledName win:UnicodeString Nome do método que está sendo compilado.
MethodBeingCompiledNameSignature win:UnicodeString Assinatura do método (lista separada por vírgulas de nomes de tipo) que está sendo compilado.
InlinerNamespace win:UnicodeString O namespace do método inliner ("parent").
InlinerName win:UnicodeString Nome do método embutido ("pai").
InlinerNameSignature win:UnicodeString Assinatura do método embutido ("pai") (lista separada por vírgulas de nomes de tipo).
InlineeNamespace win:UnicodeString O namespace do método embutido ("filho").
InlineeName win:UnicodeString Nome do método embutido ("filho").
InlineeNameSignature win:UnicodeString Assinatura do método embutido ("filho") (lista separada por vírgulas de nomes de tipo).
ClrInstanceID win:UInt16 ID exclusiva para a instância do CoreCLR.

Evento MethodJitInliningFailed

Palavra-chave para elevar o evento Nível
JITTracingKeyword (0x1000) Detalhado (5)
Acontecimento ID do evento Descrição
MethodJitInliningFailed 192 Gerado quando um método não foi sublinhado pelo compilador JIT.
Nome do campo Tipo de dado Descrição
MethodBeingCompiledNamespace win:UnicodeString Namespace do método que está sendo compilado.
MethodBeingCompiledName win:UnicodeString Nome do método que está sendo compilado.
MethodBeingCompiledNameSignature win:UnicodeString Assinatura do método (lista separada por vírgulas de nomes de tipo) que está sendo compilado.
InlinerNamespace win:UnicodeString O namespace do método inliner ("parent").
InlinerName win:UnicodeString Nome do método embutido ("pai").
InlinerNameSignature win:UnicodeString Assinatura do método embutido ("pai") (lista separada por vírgulas de nomes de tipo).
InlineeNamespace win:UnicodeString O namespace do método embutido ("filho").
InlineeName win:UnicodeString Nome do método embutido ("filho").
InlineeNameSignature win:UnicodeString Assinatura do método embutido ("filho") (lista separada por vírgulas de nomes de tipo).
FailAlways win:Boolean Se o método está marcado como não inlinável.
FailReason win:UnicodeString Falha ao sublinhar o motivo.
ClrInstanceID win:UInt16 ID exclusiva para a instância do CoreCLR.

Evento MethodJitTailCallSucceeded

Palavra-chave para elevar o evento Nível
JITTracingKeyword (0x1000) Detalhado (5)
Acontecimento ID do evento Descrição
MethodJitTailCallSucceeded 192 Gerado pelo compilador JIT quando um método pode ser chamado com êxito.
Nome do campo Tipo de dado Descrição
MethodBeingCompiledNamespace win:UnicodeString Namespace do método que está sendo compilado.
MethodBeingCompiledName win:UnicodeString Nome do método que está sendo compilado.
MethodBeingCompiledNameSignature win:UnicodeString Assinatura do método (lista separada por vírgulas de nomes de tipo) que está sendo compilado.
CallerNamespace win:UnicodeString Namespace do método de chamador.
CallerName win:UnicodeString Nome do método de chamador.
CallerNameSignature win:UnicodeString Assinatura do método de chamador (lista separada por vírgulas de nomes de tipo).
CalleeNamespace win:UnicodeString Namespace do método de receptor de chamada.
CalleeName win:UnicodeString Nome do método de receptor de chamada.
CalleeNameSignature win:UnicodeString Assinatura do método chamado (lista separada por vírgulas de nomes de tipo).
TailPrefix win:Boolean Se é uma instrução de prefixo final.
TailCallType win:UInt32 O tipo de chamada final.

0: Chamada final otimizada (epilog + jmp)

1: Chamada de cauda recursiva (a cauda do método chama a si mesma)

2: Chamada de cauda assistida auxiliar
ClrInstanceID win:UInt16 ID exclusiva para a instância do CoreCLR.

Evento MethodJitTailCallFailed

Palavra-chave para elevar o evento Nível
JITTracingKeyword (0x1000) Detalhado (5)
Acontecimento ID do evento Descrição
MethodJitTailCallFailed 191 Gerado pelo compilador JIT quando um método não foi chamado.
Nome do campo Tipo de dado Descrição
MethodBeingCompiledNamespace win:UnicodeString Namespace do método que está sendo compilado.
MethodBeingCompiledName win:UnicodeString Nome do método que está sendo compilado.
MethodBeingCompiledNameSignature win:UnicodeString Assinatura do método (lista separada por vírgulas de nomes de tipo) que está sendo compilado.
CallerNamespace win:UnicodeString Namespace do método de chamador.
CallerName win:UnicodeString Nome do método de chamador.
CallerNameSignature win:UnicodeString Assinatura do método de chamador (lista separada por vírgulas de nomes de tipo).
CalleeNamespace win:UnicodeString Namespace do método de receptor de chamada.
CalleeName win:UnicodeString Nome do método de receptor de chamada.
CalleeNameSignature win:UnicodeString Assinatura do método chamado (lista separada por vírgulas de nomes de tipo).
TailPrefix win:Boolean Se é uma instrução de prefixo final.
FailReason win:UnicodeString Falha na chamada final do motivo.
ClrInstanceID win:UInt16 ID exclusiva para a instância do CoreCLR.

Evento MethodILToNativeMap

Palavra-chave para elevar o evento Nível
JittedMethodILToNativeMapKeyword (0x20000) Detalhado (5)
Acontecimento ID do evento Descrição
MethodILToNativeMap 190 Mapeia o evento de mapa il-to-native para métodos compilados por JIT.
Nome do campo Tipo de dado Descrição
MethodID win:UInt64 Identificador exclusivo de um método.
ReJITID win:UInt64 A ID reJIT do método.
MethodExtent win:UInt8 A extensão do método jitted.
CountOfMapEntries win:UInt16 Número de entradas de mapa
ILOffsets win:UInt32 O deslocamento de IL.
NativeOffsets win:UInt32 O deslocamento de código nativo.
ClrInstanceID win:UInt16 ID exclusiva para a instância do CoreCLR.