JIT 追蹤 ETW 事件
這些事件會收集與 Just-In-Time (JIT) 內嵌和 JIT tail 呼叫的成敗有關的資訊。
JIT 追蹤事件包含下列兩個分類:
JIT 內嵌事件
JIT Tail 呼叫事件
JIT 內嵌事件
MethodJitInliningFailed 事件
下表顯示關鍵字和層級。 如需詳細資訊,請參閱 CLR ETW 關鍵字和層級。
引發事件的關鍵字 |
層級 |
---|---|
JITTracingKeyword (0x10) |
詳細資訊 (5) |
下表顯示事件資訊。
事件 |
事件識別碼 |
引發時機 |
---|---|---|
MethodJitInliningFailed |
186 |
JIT 內嵌失敗。 |
下表顯示事件資料。
欄位名稱 |
資料型別 |
說明 |
---|---|---|
MethodBeingCompiledNameSpace |
win:UnicodeString |
所編譯之方法的命名空間。 |
MethodBeingCompiledName |
win:UnicodeString |
所編譯之方法的名稱。 |
MethodBeingCompiledNameSignature |
win:UnicodeString |
所編譯之方法的簽章。 |
InlinerNamespace |
win:UnicodeString |
JIT 編譯器正嘗試為其產生程式碼之方法的命名空間。 |
InlinerName |
win:UnicodeString |
編譯器正嘗試為其產生程式碼之方法的名稱。 如果編譯器正嘗試將程式碼內嵌在 MethodBeingCompiledName 中,而非產生 InlinerName 的呼叫,這個名稱可能就與 MethodBeingCompiledName 不同。 |
InlinerNameSignature |
win:UnicodeString |
內嵌者的簽章。 |
InlineeNamespace |
win:UnicodeString |
被內嵌者的命名空間。 |
InlineeName |
win:UnicodeString |
編譯器正嘗試內嵌 (而非產生呼叫) 的方法。 |
InlineeNameSignature |
win:UnicodeString |
被內嵌者的簽章。 |
FailAlways |
win:Boolean |
給 JIT 編譯器的提示,表示被內嵌者的內嵌一定會失敗。 |
FailReason |
win:UnicodeString |
INLINE_NEVER 表示先前的內嵌嘗試判斷出內嵌由於某些其他原因而絕對不會成功,否則為自由格式的文字。 |
ClrInstanceID |
win:UnicodeString |
CLR 或 CoreCLR 執行個體的唯一 ID。 |
MethodJitInliningSucceeded 事件
下表顯示關鍵字和層級。
引發事件的關鍵字 |
層級 |
---|---|
JITTracingKeyword (0x10) |
詳細資訊 (5) |
下表顯示事件資訊。
事件 |
事件識別碼 |
引發時機 |
---|---|---|
MethodJitInliningSucceeded |
185 |
方法內嵌成功。 |
下表顯示事件資料。
欄位名稱 |
資料型別 |
說明 |
---|---|---|
MethodBeingCompiledNameSpace |
win:UnicodeString |
所編譯之方法的命名空間。 |
MethodBeingCompiledName |
win:UnicodeString |
所編譯之方法的名稱。 |
MethodBeingCompiledNameSignature |
win:UnicodeString |
所編譯之方法的簽章。 |
InlinerNamespace |
win:UnicodeString |
JIT 編譯器正嘗試為其產生程式碼之方法的命名空間。 |
InlinerName |
win:UnicodeString |
編譯器正嘗試為其產生程式碼之方法的名稱。 如果編譯器正嘗試將程式碼內嵌在 MethodBeingCompiledName 中,而非產生 InlinerName 的呼叫,這個名稱可能就與 MethodBeingCompiledName 不同。 |
InlinerNameSignature |
win:UnicodeString |
內嵌者的簽章。 |
InlineeNamespace |
win:UnicodeString |
被內嵌者的命名空間。 |
InlineeName |
win:UnicodeString |
編譯器正嘗試內嵌 (而非產生呼叫) 的方法。 |
InlineeNameSignature |
win:UnicodeString |
被內嵌者的簽章。 |
ClrInstanceID |
win:UInt16 |
CLR 或 CoreCLR 執行個體的唯一 ID。 |
回到頁首
JIT Tail 呼叫事件
MethodJITTailCallFailed 事件
下表顯示關鍵字和層級。
引發事件的關鍵字 |
層級 |
---|---|
JITTracingKeyword (0x10) |
詳細資訊 (5) |
下表顯示事件資訊。
事件 |
事件識別碼 |
引發時機 |
---|---|---|
MethodJitTailCallFailed |
189 |
方法 tail 呼叫失敗。 |
下表顯示事件資料。
欄位名稱 |
資料型別 |
說明 |
---|---|---|
MethodBeingCompiledNameSpace |
win:UnicodeString |
所編譯之方法的命名空間。 |
MethodBeingCompiledName |
win:UnicodeString |
所編譯之方法的名稱。 |
MethodBeingCompiledNameSignature |
win:UnicodeString |
所編譯之方法的簽章。 |
CallerNamespace |
win:UnicodeString |
JIT 編譯器正嘗試為其產生程式碼之方法的命名空間。 |
CallerName |
win:UnicodeString |
編譯器正嘗試為其產生程式碼之方法的名稱。 |
CallerNameSignature |
win:UnicodeString |
呼叫端的簽章。 |
CalleeNamespace |
win:UnicodeString |
被呼叫端的命名空間。 |
CalleeName |
win:UnicodeString |
編譯器正嘗試 tail 呼叫 (而非產生呼叫) 的方法。 |
CalleeNameSignature |
win:UnicodeString |
被呼叫端的簽章。 |
TailPrefix |
win:Boolean |
tail 呼叫的前置詞。 |
FailReason |
win:UnicodeString |
tail 呼叫失敗的原因。 |
ClrInstanceID |
win:UInt16 |
CLR 或 CoreCLR 執行個體的唯一 ID。 |
MethodJITTailCallSucceeded 事件
下表顯示關鍵字和層級。
引發事件的關鍵字 |
層級 |
---|---|
JITTracingKeyword (0x10) |
詳細資訊 (5) |
下表顯示事件資訊。
事件 |
事件識別碼 |
引發時機 |
---|---|---|
MethodJitTailCallSucceeded |
188 |
方法 tail 呼叫成功。 |
下表顯示事件資料。
欄位名稱 |
資料型別 |
說明 |
---|---|---|
MethodBeingCompiledNameSpace |
win:UnicodeString |
所編譯之方法的命名空間。 |
MethodBeingCompiledName |
win:UnicodeString |
所編譯之方法的名稱。 |
MethodBeingCompiledNameSignature |
win:UnicodeString |
所編譯之方法的簽章。 |
CallerNamespace |
win:UnicodeString |
JIT 編譯器正嘗試為其產生程式碼之方法的命名空間。 |
CallerName |
win:UnicodeString |
編譯器正嘗試為其產生程式碼之方法的名稱。 |
CallerNameSignature |
win:UnicodeString |
呼叫端的簽章。 |
CalleeNamespace |
win:UnicodeString |
被呼叫端的命名空間。 |
CalleeName |
win:UnicodeString |
編譯器正嘗試 tail 呼叫 (而非產生呼叫) 的方法。 |
CalleeNameSignature |
win:UnicodeString |
被呼叫端的簽章。 |
TailPrefix |
win:Boolean |
tail 呼叫的前置詞。 |
TailCallType |
win:UnicodeString |
tail 呼叫的型別。 |
ClrInstanceID |
win:UInt16 |
CLR 或 CoreCLR 執行個體的唯一 ID。 |
回到頁首