Metodo ICorProfilerInfo::GetILToNativeMapping
Ottiene una mappa dagli offset CIL (Common Intermediate Language) agli offset nativi per il codice contenuto nella funzione specificata.
Sintassi
HRESULT GetILToNativeMapping(
[in] FunctionID functionId,
[in] ULONG32 cMap,
[out] ULONG32 *pcMap,
[out, size_is(cMap), length_is(*pcMap)]
COR_DEBUG_IL_TO_NATIVE_MAP map[]);
Parametri
functionId
[in] ID della funzione che contiene il codice.
cMap
[in] Dimensione massima della map
matrice.
pcMap
[out] Numero totale di strutture COR_DEBUG_IL_TO_NATIVE_MAP disponibili.
map
[out] Matrice di COR_DEBUG_IL_TO_NATIVE_MAP
strutture, ognuna delle quali specifica gli offset. Dopo il completamento del metodo GetILToNativeMapping
, map
conterrà alcune o tutte le strutture COR_DEBUG_IL_TO_NATIVE_MAP
.
Osservazioni:
Il metodo GetILToNativeMapping
restituisce una matrice di strutture COR_DEBUG_IL_TO_NATIVE_MAP
. Per indicare che determinati intervalli di istruzioni native corrispondono a aree speciali di codice (ad esempio, il prologo), una voce nella matrice può impostare il relativo ilOffset
campo su un valore dell'enumerazione CorDebugIlToNativeMappingTypes .
Dopo il completamento del metodo GetILToNativeMapping
, è necessario verificare che il buffer map
sia abbastanza grande per contenere tutte le strutture COR_DEBUG_IL_TO_NATIVE_MAP
. A tale scopo, confrontare il valore di cMap
con il valore del parametro pcMap
. Se il valore pcMap
, moltiplicato per la dimensione di una struttura COR_DEBUG_IL_TO_NATIVE_MAP
, è superiore a cMap
, allocare un buffer map
più grande, aggiornare cMap
con la nuova dimensione e chiamare nuovamente GetILToNativeMapping
.
In alternativa, è possibile chiamare innanzitutto GetILToNativeMapping
con un buffer map
di lunghezza zero per ottenere le dimensioni del buffer corrette. È quindi possibile impostare le dimensioni del buffer sul valore restituito nel parametro pcMap
e chiamare nuovamente GetILToNativeMapping
.
Requisiti
Piattaforme: vedere Requisiti di sistema.
Intestazione: CorProf.idl, CorProf.h
Libreria: CorGuids.lib
Versioni di .NET Framework: disponibili dalla versione 2.0