Methode ICorProfilerInfo4::GetILToNativeMapping2
Hiermee haalt u een kaart op van CIL-offsets (Common Intermediate Language) naar systeemeigen offsets voor de code in de JIT-hercompileerde versie van de opgegeven functie.
Syntaxis
HRESULT GetILToNativeMapping2(
[in] FunctionID functionId,
[in] ReJITID reJitId,
[in] ULONG32 cMap,
[out] ULONG32 *pcMap,
[out, size_is(cMap), length_is(*pcMap)]
COR_DEBUG_IL_TO_NATIVE_MAP map[]);
Parameters
functionId
[in] De id van de functie die de code bevat.
pReJitId
[in] De identiteit van de functie JIT die opnieuw is gecompileerd. De identiteit moet nul zijn in .NET Framework 4.5.
cMap
[in] De maximale grootte van de map
matrix.
pcMap
[uit] Het totale aantal beschikbare COR_DEBUG_IL_TO_NATIVE_MAP structuren.
map
[uit] Een matrix van COR_DEBUG_IL_TO_NATIVE_MAP
structuren, die elk de verschuivingen specificeert. Nadat de GetILToNativeMapping2
methode is geretourneerd, map
bevat dit enkele of alle COR_DEBUG_IL_TO_NATIVE_MAP
structuren.
Opmerkingen
GetILToNativeMapping2
is vergelijkbaar met de methode ICorProfilerInfo::GetILToNativeMapping , behalve dat de profiler in toekomstige releases de id van de opnieuw gecompileerde functie kan opgeven.
Notitie
De methode ICorProfilerFunctionControl::SetILInstrumentedCodeMap is niet geïmplementeerd in .NET Framework 4.5, dus functies die zijn gecompileerd met JIT, kunnen geen IL-naar-native toewijzing hebben die verschilt van de oorspronkelijk gecompileerde functie. Als zodanig GetILToNativeMapping2
kan niet worden aangeroepen met een niet-nul-id die opnieuw is gecompileerd in .NET Framework 4.5.
De GetILToNativeMapping2
methode retourneert een matrix met COR_DEBUG_IL_TO_NATIVE_MAP
structuren. Om aan te geven dat bepaalde bereiken van systeemeigen instructies overeenkomen met speciale coderegio's (bijvoorbeeld het prolog), kan een vermelding in de matrix het veld laten ilOffset
instellen op een waarde van de opsomming CorDebugIlToNativeMappingTypes .
Nadat GetILToNativeMapping2
de buffer is geretourneerd, moet u controleren of de map
buffer groot genoeg was om alle COR_DEBUG_IL_TO_NATIVE_MAP
structuren te bevatten. Hiervoor vergelijkt u de waarde met cMap
de waarde van de pcMap
parameter. Als de waarde, wanneer deze pcMap
wordt vermenigvuldigd met de grootte van een COR_DEBUG_IL_TO_NATIVE_MAP
structuur, groter is dan cMap
, een grotere map
buffer toewijst, bijwerkt cMap
met de nieuwe, grotere grootte en opnieuw aanroept GetILToNativeMapping2
.
U kunt ook eerst bellen GetILToNativeMapping2
met een buffer met lengte nul map
om de juiste buffergrootte te verkrijgen. Vervolgens kunt u de buffergrootte instellen op de waarde die wordt pcMap
geretourneerd en opnieuw aanroepen GetILToNativeMapping2
.
Vereisten
Platformen: Zie Systeemvereisten.
Koptekst: CorProf.idl, CorProf.h
Bibliotheek: CorGuids.lib
.NET Framework-versies: beschikbaar sinds 4.5