Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ruft eine Zuordnung von CIL -Offsets (Common Intermediate Language) zu systemeigenen Offsets für den Code ab, der in der JIT-neu kompilierten Version der angegebenen Funktion enthalten ist.
Syntax
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[]);
Die Parameter
functionId [in] Die ID der Funktion, die den Code enthält.
pReJitId [in] Die Identität der JIT-rekompilierten Funktion. Die Identität muss in .NET Framework 4.5 null sein.
cMap [in] Die maximale Größe des map Arrays.
pcMap [out] Die Gesamtanzahl der verfügbaren COR_DEBUG_IL_TO_NATIVE_MAP Strukturen.
map [out] Ein Array von COR_DEBUG_IL_TO_NATIVE_MAP Strukturen, von denen jeder die Offsets angibt. Nachdem die GetILToNativeMapping2 Methode zurückgegeben wurde, map enthält sie einige oder alle COR_DEBUG_IL_TO_NATIVE_MAP Strukturen.
Bemerkungen
GetILToNativeMapping2 ähnelt der ICorProfilerInfo::GetILToNativeMapping-Methode , mit der Ausnahme, dass der Profiler die ID der neu kompilierten Funktion in zukünftigen Versionen angeben kann.
Hinweis
Die ICorProfilerFunctionControl::SetILInstrumentedCodeMap-Methode ist in .NET Framework 4.5 nicht implementiert, sodass Funktionen, die JIT-rekompiliert wurden, keine IL-zu-systemeigene Zuordnung aufweisen können, die sich von der ursprünglich kompilierten Funktion unterscheidet.
GetILToNativeMapping2 Daher kann es nicht mit einer nichtzero JIT-recompilierten ID in .NET Framework 4.5 aufgerufen werden.
Die GetILToNativeMapping2 Methode gibt ein Array von COR_DEBUG_IL_TO_NATIVE_MAP Strukturen zurück. Um zu vermitteln, dass bestimmte Bereiche systemeigener Anweisungen speziellen Codebereichen entsprechen (z. B. dem Prolog), kann ilOffset ein Eintrag im Array sein Feld auf einen Wert der CorDebugIlToNativeMappingTypes-Aufzählung festlegen lassen.
Nach GetILToNativeMapping2 dem Zurückgeben müssen Sie überprüfen, ob der map Puffer groß genug war, um alle COR_DEBUG_IL_TO_NATIVE_MAP Strukturen zu enthalten. Vergleichen Sie dazu den Wert mit cMap dem Wert des pcMap Parameters. Wenn der pcMap Wert, wenn er mit der Größe einer COR_DEBUG_IL_TO_NATIVE_MAP Struktur multipliziert wird, größer als cMapist, weisen Sie einen größeren map Puffer zu, aktualisieren cMap Sie mit der neuen, größeren Größe, und rufen Sie es erneut auf GetILToNativeMapping2 .
Alternativ können Sie zuerst einen Puffer der Länge map Null aufrufenGetILToNativeMapping2, um die richtige Puffergröße abzurufen. Anschließend können Sie die Puffergröße auf den zurückgegebenen pcMap Wert festlegen und erneut aufrufen GetILToNativeMapping2 .
Anforderungen
Plattformen: Informationen finden Sie unter Systemanforderungen.
Kopfball: CorProf.idl, CorProf.h
Bibliothek: CorGuids.lib
.NET Framework-Versionen: Verfügbar seit 4.5