Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
Obtiene un mapa de desplazamientos del lenguaje intermedio común (CIL) a desplazamientos nativos para el código contenido en la versión recompilada JIT de la función especificada.
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[]);
Parámetros
functionId [in] Identificador de la función que contiene el código.
pReJitId [in] Identidad de la función recompilada JIT. La identidad debe ser cero en .NET Framework 4.5.
cMap [in] Tamaño máximo de la map matriz.
pcMap [out] Número total de estructuras de COR_DEBUG_IL_TO_NATIVE_MAP disponibles.
map [out] Matriz de COR_DEBUG_IL_TO_NATIVE_MAP estructuras, cada una de las cuales especifica los desplazamientos. Una vez devuelto el GetILToNativeMapping2 método , map contendrá algunas o todas las COR_DEBUG_IL_TO_NATIVE_MAP estructuras.
Observaciones
GetILToNativeMapping2 es similar al método ICorProfilerInfo::GetILToNativeMapping , salvo que permitirá al generador de perfiles especificar el identificador de la función recompilada en futuras versiones.
Nota:
El método ICorProfilerFunctionControl::SetILInstrumentedCodeMap no se implementa en .NET Framework 4.5, por lo que las funciones que se han vuelto a compilar JIT no pueden tener una asignación IL a nativa que difiere de la función compilada originalmente. Por lo tanto, GetILToNativeMapping2 no se puede llamar a con un identificador jiT recompilado distinto de cero en .NET Framework 4.5.
El GetILToNativeMapping2 método devuelve una matriz de COR_DEBUG_IL_TO_NATIVE_MAP estructuras. Para transmitir que determinados intervalos de instrucciones nativas corresponden a regiones especiales de código (por ejemplo, el prólogo), una entrada de la matriz puede tener su ilOffset campo establecido en un valor de la enumeración CorDebugIlToNativeMappingTypes .
Después GetILToNativeMapping2 de la devolución, debe comprobar que el map búfer era lo suficientemente grande como para contener todas las COR_DEBUG_IL_TO_NATIVE_MAP estructuras. Para ello, compare el valor de cMap con el valor del pcMap parámetro . Si el pcMap valor, cuando se multiplica por el tamaño de una COR_DEBUG_IL_TO_NATIVE_MAP estructura, es mayor que cMap, asigna un búfer mayor map , actualiza cMap con el nuevo tamaño mayor y vuelve a llamar a GetILToNativeMapping2 .
Como alternativa, puede llamar GetILToNativeMapping2 primero con un búfer de longitud map cero para obtener el tamaño correcto del búfer. A continuación, puede establecer el tamaño del búfer en el valor devuelto en pcMap y volver a llamar a GetILToNativeMapping2 .
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: CorProf.idl, CorProf.h
Biblioteca: CorGuids.lib
Versiones de .NET Framework: Disponible desde la versión 4.5