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] 코드를 포함하는 함수의 ID입니다.

cMap [in] 배열의 최대 크기입니다 map .

pcMap [out] 사용 가능한 COR_DEBUG_IL_TO_NATIVE_MAP 구조체의 총 수입니다.

map [out] 각각 오프셋을 지정하는 구조체의 배열 COR_DEBUG_IL_TO_NATIVE_MAP 입니다. GetILToNativeMapping 메서드가 반환되면 mapCOR_DEBUG_IL_TO_NATIVE_MAP 구조체가 일부 또는 모두 포함됩니다.

설명

GetILToNativeMapping 메서드는 COR_DEBUG_IL_TO_NATIVE_MAP 구조체의 배열을 반환합니다. 특정 범위의 네이티브 명령이 코드의 특수 영역(예: 프롤로그)에 해당함을 전달하기 위해 배열의 항목에 대한 ilOffset 필드가 CorDebugIlToNativeMappingTypes 열거형의 값으로 설정될 수 있습니다.

GetILToNativeMapping가 반환된 후 map 버퍼가 모든 COR_DEBUG_IL_TO_NATIVE_MAP 구조체를 포함하기에 충분히 큰지 확인해야 합니다. 이렇게 하려면 cMap 값을 pcMap 매개 변수의 값과 비교합니다. COR_DEBUG_IL_TO_NATIVE_MAP 구조체의 크기를 곱한 pcMap 값이 cMap보다 크면 더 큰 map 버퍼를 할당하고 cMap를 더 큰 새 크기로 업데이트한 다음 GetILToNativeMapping를 다시 호출합니다.

또는 길이가 0인 map 버퍼로 GetILToNativeMapping를 먼저 호출하여 올바른 버퍼 크기를 구합니다. 그런 다음 버퍼 크기를 pcMap에 반환된 값으로 설정하고 GetILToNativeMapping을 다시 호출합니다.

요구 사항

플랫폼:시스템 요구 사항을 참조하세요.

헤더: CorProf.idl, CorProf.h

라이브러리: CorGuids.lib

.NET Framework 버전: 2.0부터 사용 가능

참고 항목