COR_IL_MAP 结构

指定函数的相对偏移量的更改。

语法

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

成员

成员 说明
oldOffset 相对于函数开头的旧公共中间语言 (CIL) 偏移量。
newOffset 相对于函数开头的新 CIL 偏移量。
fAccurate 如果已知映射准确,则为 true;否则为 false

注解

映射的格式如下所示:调试器将假定 oldOffset 引用原始未修改 CIL 代码中的 CIL 偏移量。 该 newOffset 参数引用新检测代码中的相应 CIL 偏移量。

要使单步执行正常运行,应满足以下要求:

  • 映射应按升序排序。

  • 不应重新排序已检测的 CIL 代码。

  • 不应删除原始 CIL 代码。

  • 映射应包括用于将程序数据库 (PDB) 中的所有序列点映射到文件的条目。

映射不内插缺失的条目。 下面的示例展示了一个映射及其结果。

Map:

  • 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。

要求

平台:请参阅系统要求

标头:CorDebug.idl、CorProf.idl

库:CorGuids.lib

.NET Framework 版本:自 1.0 起可用

请参阅