ICorProfilerCallback4::ReJITError – metoda
Upozorní profiler, že kompilátor za běhu (JIT) zjistil chybu v procesu rekompilace.
Syntaxe
HRESULT ReJITError(
[in] ModuleID moduleId,
[in] mdMethodDef methodId,
[in] FunctionID functionId,
[in] HRESULT hrStatus);
Parametry
moduleID
[v] Ve ModuleID
kterém byl proveden neúspěšný pokus o rekompilace.
methodId
[v] Metoda MethodDef
, na které byl proveden neúspěšný pokus o rekompilace.
functionId
[v] Instance funkce, která je rekompilována nebo označena pro rekompilace. Tato hodnota může být NULL
, pokud k selhání došlo na základě jednotlivých metod místo pro každou instanci (například pokud profiler zadal neplatný token metadat pro metodu, která se má znovu zkompilovat).
hrStatus
[v] Hodnota HRESULT, která označuje povahu selhání. Seznam hodnot najdete v části Stav HRESULTS.
Návratová hodnota
Návratové hodnoty z tohoto zpětného volání jsou ignorovány.
HrESULTS stavu
Stavové pole HRESULT | Description |
---|---|
E_INVALIDARG | Token moduleID nebo methodDef je NULL . |
CORPROF_E_DATAINCOMPLETE | Modul ještě není plně načtený nebo je v procesu uvolnění. |
CORPROF_E_MODULE_IS_DYNAMIC | Zadaný modul se dynamicky vygeneroval (například pomocí Reflection.Emit ) a tato metoda ho proto nepodporuje. |
CORPROF_E_FUNCTION_IS_COLLECTIBLE | Metoda je vytvořena do sestavení shromažďování, a proto není možné ji znovu zkompilovat. Všimněte si, že typy a funkce definované v kontextu bez reflexe (například List<MyCollectibleStruct> ) lze vytvořit instanci do shromažďovatelného sestavení. |
E_OUTOFMEMORY | Při pokusu o označení zadané metody pro rekompilace JIT došlo k nedostatku paměti modulu CLR. |
Jiné | Operační systém vrátil chybu mimo kontrolu modulu CLR. Pokud například dojde k selhání systémového volání za účelem změny ochrany přístupu na stránce paměti, zobrazí se chyba operačního systému. |
Požadavky
Platformy: Viz Požadavky na systém.
Záhlaví: CorProf.idl, CorProf.h
Knihovny: CorGuids.lib
Verze rozhraní .NET Framework: K dispozici od verze 4.5