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