COR_IL_MAP 구조체

함수의 상대 오프셋 변경 내용을 지정합니다.

구문

typedef struct _COR_IL_MAP {
    ULONG32 oldOffset;
    ULONG32 newOffset;
    BOOL    fAccurate;
} COR_IL_MAP;

멤버

멤버 설명
oldOffset 함수의 시작 부분을 기준으로 하는 이전 CIL(공용 중간 언어) 오프셋입니다.
newOffset 함수의 시작을 기준으로 하는 새 CIL 오프셋입니다.
fAccurate 매핑이 정확한 것으로 알려진 경우 true, 그렇지 않으면 false입니다.

설명

맵의 형식은 다음과 같습니다. 디버거는 원래 수정되지 않은 CIL 코드 내에서 CIL 오프셋을 참조한다고 oldOffset 가정합니다. 매개 변수는 newOffset 계측된 새 코드 내에서 해당 CIL 오프셋을 참조합니다.

단계별 실행이 제대로 이루어지려면 다음 요구 사항을 충족해야 합니다.

  • 맵은 오름차순으로 정렬되어야 합니다.

  • 계측된 CIL 코드는 순서를 다시 지정해서는 안 됩니다.

  • 원래 CIL 코드는 제거하면 안 됩니다.

  • 맵에는 PDB(프로그램 데이터베이스) 파일의 모든 시퀀스 지점을 매핑하는 항목이 포함되어야 합니다.

맵은 누락된 항목을 보간하지 않습니다. 다음 예제에서는 맵과 맵의 결과를 보여 줍니다.

맵:

  • 이전 오프셋 0, 새 오프셋 0

  • 이전 오프셋 5, 새 오프셋 10

  • 이전 오프셋 9, 새 오프셋 20

Results:

  • 0, 1, 2, 3 또는 4의 이전 오프셋은 새 오프셋 0에 매핑됩니다.

  • 5, 6, 7 또는 8의 이전 오프셋은 새 오프셋 10에 매핑됩니다.

  • 이전 오프셋 9 이상은 새 오프셋 20에 매핑됩니다.

  • 0, 1, 2, 3, 4, 5, 6, 7, 8 또는 9의 새 오프셋은 이전 오프셋 0에 매핑됩니다.

  • 10, 11, 12, 13, 14, 15, 16, 17, 18 또는 19의 새 오프셋은 이전 오프셋 5에 매핑됩니다.

  • 20 이상의 새 오프셋은 이전 오프셋 9에 매핑됩니다.

요구 사항

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

헤더: CorDebug.idl, CorProf.idl

라이브러리: CorGuids.lib

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

참고 항목