Бөлісу құралы:


Метод ICorProfilerInfo::GetILToNativeMapping

Получает карту из смещения общего промежуточного языка (CIL) на собственные смещения для кода, содержащегося в указанной функции.

Синтаксис

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[]);

Параметры

functionId [in] Идентификатор функции, содержащей код.

cMap [in] Максимальный размер массива map .

pcMap [out] Общее количество доступных COR_DEBUG_IL_TO_NATIVE_MAP структур.

map [out] Массив COR_DEBUG_IL_TO_NATIVE_MAP структур, каждый из которых задает смещения. GetILToNativeMapping После возврата map метода будет содержать некоторые или все COR_DEBUG_IL_TO_NATIVE_MAP структуры.

Замечания

Метод GetILToNativeMapping возвращает массив COR_DEBUG_IL_TO_NATIVE_MAP структур. Чтобы передать, что определенные диапазоны собственных инструкций соответствуют специальным областям кода (например, прологу), запись в массиве может иметь значение ilOffset значения перечисления CorDebugIlToNativeMappingTypes .

После GetILToNativeMapping возврата необходимо убедиться, что map буфер был достаточно большим, чтобы содержать все COR_DEBUG_IL_TO_NATIVE_MAP структуры. Для этого сравните значение cMap параметра со значением pcMap параметра. pcMap Если значение, умноженное на размер COR_DEBUG_IL_TO_NATIVE_MAP структуры, большеcMap, выделяется более крупный map буфер, обновляется cMap с новым, большим размером и снова вызываетсяGetILToNativeMapping.

Кроме того, можно сначала вызвать GetILToNativeMapping буфер нулевой длины map , чтобы получить правильный размер буфера. Затем можно задать размер буфера значением, возвращенным и снова вызываемым pcMapGetILToNativeMapping .

Требования

Платформы: см. раздел Требования к системе.

Заголовок: CorProf.idl, CorProf.h

Библиотека: CorGuids.lib

Версии .NET Framework: Доступно с версии 2.0

См. также