COR_IL_MAP结构

指定函数的相对偏移量的变化。

Syntax

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

Members

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

注解

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

若要正常运行,应满足以下要求:

  • 地图应按升序排序。
  • 不应重新排序已检测的 CIL 代码。
  • 不应删除原始 CIL 代码。
  • 映射应包含用于映射程序数据库 (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 支持的作系统

页眉: CorDebug.idl、CorProf.idl

图书馆: CorGuids.lib

.NET 版本: 自 .NET Framework 1.0 起可用