Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Establece un mapa de código para la función especificada mediante el uso de las entradas de mapa del lenguaje intermedio de Microsoft (MSIL) especificadas.
![]() |
---|
En .NET Framework 2.0, si se llama a SetILInstrumentedCodeMap en un FunctionID que representa una función genérica de un dominio de aplicación en particular, se verán afectadas todas las instancias de esa función en el dominio de aplicación. |
HRESULT SetILInstrumentedCodeMap(
[in] FunctionID functionId,
[in] BOOL fStartJit,
[in] ULONG cILMapEntries,
[in, size_is(cILMapEntries)] COR_IL_MAP rgILMapEntries[]);
Parámetros
functionId
[in] Id. de la función para el que se establece el mapa de código.fStartJit
[in] Valor booleano que indica si la llamada al método SetILInstrumentedCodeMap es la primera para un FunctionID en particular. Establezca fStartJit en true en la primera llamada a SetILInstrumentedCodeMap para un FunctionID determinado y en false a partir de ese momento.cILMapEntries
[in] Número de elementos contenidos en la matriz cILMapEntries.rgILMapEntries
[in] Matriz de estructuras COR_IL_MAP, cada una de las cuales especifica un desplazamiento de MSIL.
Comentarios
Un generador de perfiles suele insertar instrucciones en el código fuente de un método para instrumentarlo (por ejemplo, para notificar en qué momento se llega a una línea de código fuente). SetILInstrumentedCodeMap permite que un generador de perfiles asigne las instrucciones de MSIL originales a sus nuevas ubicaciones. Un generador de perfiles puede usar el método ICorProfilerInfo::GetILToNativeMapping para obtener el desplazamiento de MSIL original de un desplazamiento nativo dado.
El depurador presupondrá que los desplazamientos anteriores hacen referencia a un desplazamiento de MSIL del código MSIL original y sin modificar, así como que los desplazamientos nuevos hacen referencia al desplazamiento de MSIL del nuevo código instrumentado. El mapa se debe ordenar en orden ascendente. Para trabajar correctamente y paso a paso, siga estas instrucciones:
No reordene el código de MSIL instrumentado.
No quite el código de MSIL original.
Incluya en la asignación las entradas de todos los puntos de secuencias del archivo de base de datos de programa (PDB). El mapa no interpola las entradas que falten. Por tanto, dado el mapa siguiente:
(0 anterior, 0 nuevo)
(5 anterior, 10 nuevo)
(9 anterior, 20 nuevo)
Un desplazamiento anterior de 0, 1, 2, 3 o 4 se asignará al nuevo desplazamiento de 0.
Un desplazamiento anterior de 5, 6, 7 u 8 se asignará al nuevo desplazamiento de 10.
Un desplazamiento anterior de 9 o más se asignará al nuevo desplazamiento de 20.
Se asignará un nuevo desplazamiento de 0, 1, 2, 3, 4, 5, 6, 7, 8 ó 9 al anterior desplazamiento de 0.
Se asignará un nuevo desplazamiento de 10, 11, 12, 13, 14, 15, 16, 17, 18 ó 19 al anterior desplazamiento de 5.
Un desplazamiento nuevo de 20 o más se asignará al anterior desplazamiento de 9.
Requisitos
Plataformas: vea Requisitos de sistema de .NET Framework.
Encabezado: CorProf.idl, CorProf.h
Biblioteca: CorGuids.lib
Versiones de .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1