共用方式為


ICorProfilerCallback4::ReJITError 方法

通知分析工具,指出 Just-In-Time (JIT) 編譯器在重新編譯程序中遇到錯誤。

語法

HRESULT ReJITError(  
    [in] ModuleID    moduleId,  
    [in] mdMethodDef methodId,  
    [in] FunctionID  functionId,  
    [in] HRESULT     hrStatus);  

參數

moduleID
[in] 嘗試失敗的重新編譯時所在的 ModuleID

methodId
[in] 嘗試失敗的重新編譯時所在方法的 MethodDef

functionId
[in] 所重新編譯或標示要重新編譯的函式執行個體。 如果失敗是在個別方法上發生,而不是在個別具現化上發生 (例如,如果分析工具針對要重新編譯的方法指定了不正確的中繼資料語彙基元),則此值可能是 NULL

hrStatus
[in] 指出失敗本質的 HRESULT。 如需值清單,請參閱<狀態 HRESULTS>一節。

傳回值

忽略此回呼傳回的值。

狀態 HRESULT

狀態陣列 HRESULT 描述
E_INVALIDARG moduleIDmethodDef 語彙基元是 NULL
CORPROF_E_DATAINCOMPLETE 這個模組未完全載入,或正在進行卸載。
CORPROF_E_MODULE_IS_DYNAMIC 指定的模組是動態產生的 (例如,由 Reflection.Emit 產生),因此這個方法不支援。
CORPROF_E_FUNCTION_IS_COLLECTIBLE 方法具現化為可回收組件,因此無法重新編譯。 請注意,在非反射內容中定義的型別和函式 (例如,List<MyCollectibleStruct>) 可以具現化為可回收組件。
E_OUTOFMEMORY CLR 在嘗試標示要進行 JIT 重新編譯的指定方法時記憶體不足。
其他 作業系統會傳回在 CLR 的控制項外發生的失敗。 例如,如果變更記憶體分頁之存取保護的系統呼叫失敗,則會顯示作業系統錯誤。

規格需求

平台:請參閱系統需求

標頭: CorProf.idl、CorProf.h

程式庫:CorGuids.lib

.NET Framework版本:自 4.5 起可用

另請參閱