다음을 통해 공유


COR_IL_MAP 구조체

함수의 상대 오프셋 변화량을 지정합니다.

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

멤버

멤버

설명

oldOffset

함수 시작 위치를 기준으로 하는 이전 MSIL(Microsoft Intermediate Language) 오프셋입니다.

newOffset

함수 시작 위치를 기준으로 하는 새 MSIL 오프셋입니다.

fAccurate

매핑이 정확하면 true이고, 그렇지 않으면 false입니다.

설명

맵 형식은 다음과 같습니다. 디버거에서는 oldOffset이 수정되지 않은 원래 MSIL 코드 내의 MSIL 오프셋을 나타내는 것으로 가정합니다. newOffset 매개 변수는 새로 계측된 코드 내에서의 해당 MSIL 오프셋을 나타냅니다.

단계별 코드 실행이 제대로 작동하도록 하려면 다음 요구 사항을 충족해야 합니다.

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

  • 계측된 MSIL 코드의 순서가 변경되지 않아야 합니다.

  • 원래 MSIL 코드가 제거되지 않아야 합니다.

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

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

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

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

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

결과

  • 이전 오프셋 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에 매핑됩니다.

요구 사항

플랫폼: .NET Framework 시스템 요구 사항 참조

헤더: CorDebug.idl, CorProf.idl

라이브러리: CorGuids.lib

.NET Framework 버전: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

참고 항목

기타 리소스

디버깅 구조체

디버깅(관리되지 않는 API 참조)