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 起可用