Udostępnij za pośrednictwem


Zdarzenia metody środowiska uruchomieniowego platformy .NET

Zdarzenia opisane w tym artykule zbierają informacje specyficzne dla metod. Ładunek tych zdarzeń jest wymagany do rozpoznawania symboli. Ponadto te zdarzenia zawierają przydatne informacje, takie jak metody, które są ładowane i zwalniane. Aby uzyskać więcej informacji na temat używania tych zdarzeń do celów diagnostycznych, zobacz Rejestrowanie i śledzenie aplikacji platformy .NET

Wszystkie zdarzenia metody mają poziom "Informational (4)". Wszystkie zdarzenia pełne metody mają poziom "Pełne (5)".

Wszystkie zdarzenia metody są wywoływane przez JITKeyword słowo kluczowe (0x10) lub NGenKeyword słowo kluczowe (0x20) w ramach dostawcy środowiska uruchomieniowego lub (0x10) lub JitRundownKeywordNGENRundownKeyword (0x20) w ramach dostawcy uruchamiania.

Wersje tych zdarzeń w wersji 2 obejmują identyfikator ReJITID, wersje V1 nie.

zdarzenie MethodLoad_V1

W poniższej tabeli przedstawiono informacje o zdarzeniu:

Zdarzenie Identyfikator zdarzenia opis
MethodLoad_V1 141 Zgłaszane, gdy jest ładowana metoda just in time (ładowana przez tryb JIT) lub załadowany obraz NGEN. Metody dynamiczne i ogólne nie używają tej wersji do ładowania metod. Pomocnicy JIT nigdy nie używają tej wersji.
Słowo kluczowe do zgłaszania zdarzenia Poziom
JITKeyword (0x10) dostawca środowiska uruchomieniowego Informacyjne (4)
NGenKeyword (0x20) dostawca środowiska uruchomieniowego Informacyjne (4)
Nazwa pola Typ danych opis
MethodID win:UInt64 Unikatowy identyfikator metody. W przypadku metod pomocnika JIT ustawiono adres początkowy metody .
ModuleID win:UInt64 Identyfikator modułu, do którego należy ta metoda (0 dla pomocników JIT).
MethodStartAddress win:UInt64 Początkowy adres metody.
MethodSize win:UInt32 Rozmiar metody.
MethodToken win:UInt32 0 dla metod dynamicznych i pomocników JIT.
MethodFlags win:UInt32 0x1: metoda dynamiczna.

0x2: metoda ogólna.

0x4: metoda kodu skompilowanego w trybie JIT (w przeciwnym razie kod obrazu natywnego NGEN).

0x8: metoda pomocnika.
ClrInstanceID win:UInt16 Unikatowy identyfikator wystąpienia coreCLR.

zdarzenie MethodLoad_V2

Zdarzenie Identyfikator zdarzenia opis
MethodLoad_V2 141 Zgłaszane, gdy jest ładowana metoda just in time (ładowana przez tryb JIT) lub załadowany obraz NGEN. Metody dynamiczne i ogólne nie używają tej wersji do ładowania metod. Pomocnicy JIT nigdy nie używają tej wersji.
Słowo kluczowe do zgłaszania zdarzenia Poziom
JITKeyword (0x10) dostawca środowiska uruchomieniowego Informacyjne (4)
NGenKeyword (0x20) dostawca środowiska uruchomieniowego Informacyjne (4)
Nazwa pola Typ danych opis
MethodID win:UInt64 Unikatowy identyfikator metody. W przypadku metod pomocnika JIT ustawiono adres początkowy metody .
ModuleID win:UInt64 Identyfikator modułu, do którego należy ta metoda (0 dla pomocników JIT).
MethodStartAddress win:UInt64 Początkowy adres metody.
MethodSize win:UInt32 Rozmiar metody.
MethodToken win:UInt32 0 dla metod dynamicznych i pomocników JIT.
MethodFlags win:UInt32 0x1: metoda dynamiczna.

0x2: metoda ogólna.

0x4: metoda kodu skompilowanego w trybie JIT (w przeciwnym razie kod obrazu natywnego NGEN).

0x8: metoda pomocnika.
ReJITID win:UInt64 Identyfikator ReJIT metody .
ClrInstanceID win:UInt16 Unikatowy identyfikator wystąpienia coreCLR.

zdarzenie MethodUnLoad_V1

Zdarzenie Identyfikator zdarzenia opis
MethodUnLoad_V1 142 Zgłaszane, gdy moduł zostanie zwolniony lub domena aplikacji zostanie zniszczona. Metody dynamiczne nigdy nie używają tej wersji do zwalniania metody.
Słowo kluczowe do zgłaszania zdarzenia Poziom
JITKeyword (0x10) Informacyjne (4)
NGenKeyword (0x20) Informacyjne (4)
Nazwa pola Typ danych opis
MethodID win:UInt64 Unikatowy identyfikator metody. W przypadku metod pomocnika JIT ustawiono adres początkowy metody .
ModuleID win:UInt64 Identyfikator modułu, do którego należy ta metoda (0 dla pomocników JIT).
MethodStartAddress win:UInt64 Początkowy adres metody.
MethodSize win:UInt32 Rozmiar metody.
MethodToken win:UInt32 0 dla metod dynamicznych i pomocników JIT.
MethodFlags win:UInt32 0x1: metoda dynamiczna.

0x2: metoda ogólna.

0x4: metoda kodu skompilowanego w trybie JIT (w przeciwnym razie kod obrazu natywnego NGEN).

0x8: metoda pomocnika.
ClrInstanceID win:UInt16 Unikatowy identyfikator wystąpienia coreCLR.

zdarzenie MethodUnLoad_V2

Zdarzenie Identyfikator zdarzenia opis
MethodUnLoad_V2 142 Zgłaszane, gdy moduł zostanie zwolniony lub domena aplikacji zostanie zniszczona. Metody dynamiczne nigdy nie używają tej wersji do zwalniania metody.
Słowo kluczowe do zgłaszania zdarzenia Poziom
JITKeyword (0x10) Informacyjne (4)
NGenKeyword (0x20) Informacyjne (4)
Nazwa pola Typ danych opis
MethodID win:UInt64 Unikatowy identyfikator metody. W przypadku metod pomocnika JIT ustawiono adres początkowy metody .
ModuleID win:UInt64 Identyfikator modułu, do którego należy ta metoda (0 dla pomocników JIT).
MethodStartAddress win:UInt64 Początkowy adres metody.
MethodSize win:UInt32 Rozmiar metody.
MethodToken win:UInt32 0 dla metod dynamicznych i pomocników JIT.
MethodFlags win:UInt32 0x1: metoda dynamiczna.

0x2: metoda ogólna.

0x4: metoda kodu skompilowanego w trybie JIT (w przeciwnym razie kod obrazu natywnego NGEN).

0x8: metoda pomocnika.
ReJITID win:UInt64 Identyfikator ReJIT metody .
ClrInstanceID win:UInt16 Unikatowy identyfikator wystąpienia coreCLR.

Zdarzenie R2RGetEntryPoint

Zdarzenie Identyfikator zdarzenia opis
R2RGetEntryPoint 159 Podniesione, gdy kończy się wyszukiwanie punktu wejścia R2R.
Słowo kluczowe do zgłaszania zdarzenia Poziom
CompilationDiagnosticKeyword (0x2000000000) Informacyjne (4)
Nazwa pola Typ danych opis
MethodID win:UInt64 Unikatowy identyfikator metody R2R.
MethodNamespace win:UnicodeString Wyszukana przestrzeń nazw metody.
MethodName win:UnicodeString Nazwa szukanej metody.
MethodSignature win:UnicodeString Podpis metody (rozdzielona przecinkami lista nazw typów).
EntryPoint win:UInt64 Wskaźnik do punktu wejścia metody R2R
ClrInstanceID win:UInt16 Unikatowy identyfikator wystąpienia coreCLR.

Zdarzenie R2RGetEntryPointStart

Zdarzenie Identyfikator zdarzenia opis
R2RGetEntryPointStart 160 Podniesione po uruchomieniu wyszukiwania punktu wejścia R2R.
Słowo kluczowe do zgłaszania zdarzenia Poziom
CompilationDiagnosticKeyword (0x2000000000) Informacyjne (4)
Nazwa pola Typ danych opis
MethodID win:UInt64 Unikatowy identyfikator metody R2R.
ClrInstanceID win:UInt16 Unikatowy identyfikator wystąpienia coreCLR.

zdarzenie MethodLoadVerbose_V1

Zdarzenie Identyfikator zdarzenia opis
MethodLoadVerbose_V1 143 Zgłaszane, gdy jest ładowana metoda JIT lub jest ładowany obraz NGEN. Metody dynamiczne i ogólne zawsze używają tej wersji do ładowania metod. Pomocnicy JIT zawsze używają tej wersji.
Słowo kluczowe do zgłaszania zdarzenia Poziom
JITKeyword (0x10) Informacyjne (4)
NGenKeyword (0x20) Informacyjne (4)
Nazwa pola Typ danych opis
MethodID win:UInt64 Unikatowy identyfikator metody. W przypadku metod pomocnika JIT ustaw adres początkowy metody .
ModuleID win:UInt64 Identyfikator modułu, do którego należy ta metoda (0 dla pomocników JIT).
MethodStartAddress win:UInt64 Adres początkowy.
MethodSize win:UInt32 Długość metody.
MethodToken win:UInt32 0 dla metod dynamicznych i pomocników JIT.
MethodFlags win:UInt32 0x1: metoda dynamiczna.

0x2: metoda ogólna.

0x4: metoda skompilowana przez JIT (w przeciwnym razie wygenerowana przez NGen.exe)

0x8: metoda pomocnika.
MethodNameSpace win:UnicodeString Pełna nazwa przestrzeni nazw skojarzona z metodą .
MethodName win:UnicodeString Pełna nazwa klasy skojarzona z metodą .
MethodSignature win:UnicodeString Podpis metody (rozdzielona przecinkami lista nazw typów).
ClrInstanceID win:UInt16 Unikatowy identyfikator wystąpienia coreCLR.

zdarzenie MethodLoadVerbose_V2

Zdarzenie Identyfikator zdarzenia opis
MethodLoadVerbose_V1 143 Zgłaszane, gdy jest ładowana metoda JIT lub jest ładowany obraz NGEN. Metody dynamiczne i ogólne zawsze używają tej wersji do ładowania metod. Pomocnicy JIT zawsze używają tej wersji.
Słowo kluczowe do zgłaszania zdarzenia Poziom
JITKeyword (0x10) Informacyjne (4)
NGenKeyword (0x20) Informacyjne (4)
Nazwa pola Typ danych opis
MethodID win:UInt64 Unikatowy identyfikator metody. W przypadku metod pomocnika JIT ustaw adres początkowy metody .
ModuleID win:UInt64 Identyfikator modułu, do którego należy ta metoda (0 dla pomocników JIT).
MethodStartAddress win:UInt64 Adres początkowy.
MethodSize win:UInt32 Długość metody.
MethodToken win:UInt32 0 dla metod dynamicznych i pomocników JIT.
MethodFlags win:UInt32 0x1: metoda dynamiczna.

0x2: metoda ogólna.

0x4: metoda skompilowana przez JIT (w przeciwnym razie wygenerowana przez NGen.exe)

0x8: metoda pomocnika.
MethodNameSpace win:UnicodeString Pełna nazwa przestrzeni nazw skojarzona z metodą .
MethodName win:UnicodeString Pełna nazwa klasy skojarzona z metodą .
MethodSignature win:UnicodeString Podpis metody (rozdzielona przecinkami lista nazw typów).
ReJITID win:UInt64 Identyfikator ReJIT metody .
ClrInstanceID win:UInt16 Unikatowy identyfikator wystąpienia coreCLR.

zdarzenie MethodUnLoadVerbose_V1

Zdarzenie Identyfikator zdarzenia opis
MethodUnLoadVerbose_V1 144 Zgłaszane, gdy metoda dynamiczna zostanie zniszczona, moduł zostanie zwolniony lub domena aplikacji zostanie zniszczona. Metody dynamiczne zawsze używają tej wersji do zwalniania metod.
Słowo kluczowe do zgłaszania zdarzenia Poziom
JITKeyword (0x10) Informacyjne (4)
NGenKeyword (0x20) Informacyjne (4)
Nazwa pola Typ danych opis
MethodID win:UInt64 Unikatowy identyfikator metody. W przypadku metod pomocnika JIT ustaw adres początkowy metody .
ModuleID win:UInt64 Identyfikator modułu, do którego należy ta metoda (0 dla pomocników JIT).
MethodStartAddress win:UInt64 Adres początkowy.
MethodSize win:UInt32 Długość metody.
MethodToken win:UInt32 0 dla metod dynamicznych i pomocników JIT.
MethodFlags win:UInt32 0x1: metoda dynamiczna.

0x2: metoda ogólna.

0x4: metoda skompilowana przez JIT (w przeciwnym razie wygenerowana przez NGen.exe)

0x8: metoda pomocnika.
MethodNameSpace win:UnicodeString Pełna nazwa przestrzeni nazw skojarzona z metodą .
MethodName win:UnicodeString Pełna nazwa klasy skojarzona z metodą .
MethodSignature win:UnicodeString Podpis metody (rozdzielona przecinkami lista nazw typów).
ClrInstanceID win:UInt16 Unikatowy identyfikator wystąpienia coreCLR.

zdarzenie MethodUnLoadVerbose_V2

Zdarzenie Identyfikator zdarzenia opis
MethodUnLoadVerbose_V2 144 Zgłaszane, gdy metoda dynamiczna zostanie zniszczona, moduł zostanie zwolniony lub domena aplikacji zostanie zniszczona. Metody dynamiczne zawsze używają tej wersji do zwalniania metod.
Słowo kluczowe do zgłaszania zdarzenia Poziom
JITKeyword (0x10) Informacyjne (4)
NGenKeyword (0x20) Informacyjne (4)
Nazwa pola Typ danych opis
MethodID win:UInt64 Unikatowy identyfikator metody. W przypadku metod pomocnika JIT ustaw adres początkowy metody .
ModuleID win:UInt64 Identyfikator modułu, do którego należy ta metoda (0 dla pomocników JIT).
MethodStartAddress win:UInt64 Adres początkowy.
MethodSize win:UInt32 Długość metody.
MethodToken win:UInt32 0 dla metod dynamicznych i pomocników JIT.
MethodFlags win:UInt32 0x1: metoda dynamiczna.

0x2: metoda ogólna.

0x4: metoda skompilowana przez JIT (w przeciwnym razie wygenerowana przez NGen.exe)

0x8: metoda pomocnika.
MethodNameSpace win:UnicodeString Pełna nazwa przestrzeni nazw skojarzona z metodą .
MethodName win:UnicodeString Pełna nazwa klasy skojarzona z metodą .
MethodSignature win:UnicodeString Podpis metody (rozdzielona przecinkami lista nazw typów).
ClrInstanceID win:UInt16 Unikatowy identyfikator wystąpienia coreCLR.
ReJITID win:UInt64 Identyfikator ReJIT metody .

zdarzenie MethodJittingStarted_V1

W poniższej tabeli przedstawiono słowo kluczowe i poziom:

Słowo kluczowe do zgłaszania zdarzenia Poziom
JITKeyword (0x10) Pełne (5)
NGenKeyword (0x20) Pełne (5)
Zdarzenie Identyfikator zdarzenia opis
MethodJittingStarted_V1 145 Zgłaszane, gdy metoda jest kompilowana w trybie JIT.
Nazwa pola Typ danych opis
MethodID win:UInt64 Unikatowy identyfikator metody.
ModuleID win:UInt64 Identyfikator modułu, do którego należy ta metoda.
MethodToken win:UInt32 0 dla metod dynamicznych i pomocników JIT.
MethodILSize win:UInt32 Rozmiar wspólnego języka pośredniego (CIL) dla metody, która jest kompilowana w trybie JIT.
MethodNameSpace win:UnicodeString Pełna nazwa klasy skojarzona z metodą .
MethodName win:UnicodeString Nazwa metody.
MethodSignature win:UnicodeString Podpis metody (rozdzielona przecinkami lista nazw typów).
ClrInstanceID win:UInt16 Unikatowy identyfikator wystąpienia coreCLR.

MethodJitInliningSucceeded, zdarzenie

Słowo kluczowe do zgłaszania zdarzenia Poziom
JITTracingKeyword (0x1000) Pełne (5)
Zdarzenie Identyfikator zdarzenia opis
MethodJitInliningSucceeded 185 Wywoływane, gdy metoda została pomyślnie podbudowana przez kompilator JIT.
Nazwa pola Typ danych opis
MethodBeingCompiledNamespace win:UnicodeString Przestrzeń nazw kompilowanej metody.
MethodBeingCompiledName win:UnicodeString Nazwa kompilowanej metody.
MethodBeingCompiledNameSignature win:UnicodeString Podpis metody (rozdzielona przecinkami lista nazw typów) kompilowana.
InlinerNamespace win:UnicodeString Przestrzeń nazw metody inliner ("parent").
InlinerName win:UnicodeString Nazwa metody inliner ("parent").
InlinerNameSignature win:UnicodeString Podpis metody inliner ("parent") (rozdzielona przecinkami lista nazw typów).
InlineeNamespace win:UnicodeString Przestrzeń nazw metody inlinee ("child").
InlineeName win:UnicodeString Nazwa metody inlinee ("child").
InlineeNameSignature win:UnicodeString Podpis metody inlinee ("child") (rozdzielona przecinkami lista nazw typów).
ClrInstanceID win:UInt16 Unikatowy identyfikator wystąpienia coreCLR.

Zdarzenie MethodJitInliningFailed

Słowo kluczowe do zgłaszania zdarzenia Poziom
JITTracingKeyword (0x1000) Pełne (5)
Zdarzenie Identyfikator zdarzenia opis
MethodJitInliningFailed 192 Podniesione, gdy nie można utworzyć wbudowanej metody przez kompilator JIT.
Nazwa pola Typ danych opis
MethodBeingCompiledNamespace win:UnicodeString Przestrzeń nazw kompilowanej metody.
MethodBeingCompiledName win:UnicodeString Nazwa kompilowanej metody.
MethodBeingCompiledNameSignature win:UnicodeString Podpis metody (rozdzielona przecinkami lista nazw typów) kompilowana.
InlinerNamespace win:UnicodeString Przestrzeń nazw metody inliner ("parent").
InlinerName win:UnicodeString Nazwa metody inliner ("parent").
InlinerNameSignature win:UnicodeString Podpis metody inliner ("parent") (rozdzielona przecinkami lista nazw typów).
InlineeNamespace win:UnicodeString Przestrzeń nazw metody inlinee ("child").
InlineeName win:UnicodeString Nazwa metody inlinee ("child").
InlineeNameSignature win:UnicodeString Podpis metody inlinee ("child") (rozdzielona przecinkami lista nazw typów).
FailAlways win:Boolean Określa, czy metoda jest oznaczona jako nieznośna.
FailReason win:UnicodeString Nie powiodło się podkreślenie przyczyny.
ClrInstanceID win:UInt16 Unikatowy identyfikator wystąpienia coreCLR.

Zdarzenie MethodJitTailCallSucceeded

Słowo kluczowe do zgłaszania zdarzenia Poziom
JITTracingKeyword (0x1000) Pełne (5)
Zdarzenie Identyfikator zdarzenia opis
MethodJitTailCallSucceeded 192 Podniesione przez kompilator JIT, gdy metoda może zostać pomyślnie wywołana.
Nazwa pola Typ danych opis
MethodBeingCompiledNamespace win:UnicodeString Przestrzeń nazw kompilowanej metody.
MethodBeingCompiledName win:UnicodeString Nazwa kompilowanej metody.
MethodBeingCompiledNameSignature win:UnicodeString Podpis metody (rozdzielona przecinkami lista nazw typów) kompilowana.
CallerNamespace win:UnicodeString Przestrzeń nazw metody wywołującej.
CallerName win:UnicodeString Nazwa metody wywołującej.
CallerNameSignature win:UnicodeString Podpis metody wywołującej (rozdzielona przecinkami lista nazw typów).
CalleeNamespace win:UnicodeString Przestrzeń nazw metody wywoływanej.
CalleeName win:UnicodeString Nazwa metody wywoływanej.
CalleeNameSignature win:UnicodeString Podpis metody wywoływanej (rozdzielana przecinkami lista nazw typów).
TailPrefix win:Boolean Czy jest to instrukcja prefiksu ogona.
TailCallType win:UInt32 Typ wywołania ogona.

0: Zoptymalizowane wywołanie ogona (epilog + jmp)

1: Rekursywne wywołanie ogona (samo wywołanie metody)

2: Pomocnik asystowany telefon końcowy
ClrInstanceID win:UInt16 Unikatowy identyfikator wystąpienia coreCLR.

Zdarzenie MethodJitTailCallFailed

Słowo kluczowe do zgłaszania zdarzenia Poziom
JITTracingKeyword (0x1000) Pełne (5)
Zdarzenie Identyfikator zdarzenia opis
MethodJitTailCallFailed 191 Wywoływanie przez kompilator JIT metody nie powiodło się.
Nazwa pola Typ danych opis
MethodBeingCompiledNamespace win:UnicodeString Przestrzeń nazw kompilowanej metody.
MethodBeingCompiledName win:UnicodeString Nazwa kompilowanej metody.
MethodBeingCompiledNameSignature win:UnicodeString Podpis metody (rozdzielona przecinkami lista nazw typów) kompilowana.
CallerNamespace win:UnicodeString Przestrzeń nazw metody wywołującej.
CallerName win:UnicodeString Nazwa metody wywołującej.
CallerNameSignature win:UnicodeString Podpis metody wywołującej (rozdzielona przecinkami lista nazw typów).
CalleeNamespace win:UnicodeString Przestrzeń nazw metody wywoływanej.
CalleeName win:UnicodeString Nazwa metody wywoływanej.
CalleeNameSignature win:UnicodeString Podpis metody wywoływanej (rozdzielana przecinkami lista nazw typów).
TailPrefix win:Boolean Czy jest to instrukcja prefiksu ogona.
FailReason win:UnicodeString Wywołanie ogona przyczyny nie powiodło się.
ClrInstanceID win:UInt16 Unikatowy identyfikator wystąpienia coreCLR.

Zdarzenie MethodILToNativeMap

Słowo kluczowe do zgłaszania zdarzenia Poziom
JittedMethodILToNativeMapKeyword (0x20000) Pełne (5)
Zdarzenie Identyfikator zdarzenia opis
MethodILToNativeMap 190 Mapy zdarzenia mapy il-to-native dla metod skompilowanych JIT.
Nazwa pola Typ danych opis
MethodID win:UInt64 Unikatowy identyfikator metody.
ReJITID win:UInt64 Identyfikator ReJIT metody .
MethodExtent win:UInt8 Zakres metody jitted.
CountOfMapEntries win:UInt16 Liczba wpisów mapy
ILOffsets win:UInt32 Przesunięcie IL.
NativeOffsets win:UInt32 Przesunięcie kodu natywnego.
ClrInstanceID win:UInt16 Unikatowy identyfikator wystąpienia coreCLR.