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 | moduleID 或 methodDef 語彙基元是 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 起可用