提供如何获取指令指针 (IP) 的值的详细信息。
typedef enum CorDebugMappingResult {
MAPPING_PROLOG = 0x1,
MAPPING_EPILOG = 0x2,
MAPPING_NO_INFO = 0x4,
MAPPING_UNMAPPED_ADDRESS = 0x8,
MAPPING_EXACT = 0x10,
MAPPING_APPROXIMATE = 0x20,
} CorDebugMappingResult;
成员
成员 |
说明 |
---|---|
MAPPING_PROLOG |
本机代码存在于 Prolog 中,因此 IP 的值为 0。 |
MAPPING_EPILOG |
本机代码存在于 Epilog 中,因此 IP 的值是方法的最后一条指令的地址。 |
MAPPING_NO_INFO |
该方法没有可用的映射信息,因此 IP 的值为 0。 |
MAPPING_UNMAPPED_ADDRESS |
虽然该方法有映射信息,但无法将当前地址映射到 Microsoft 中间语言 (MSIL) 代码。 IP 的值为 0。 |
MAPPING_EXACT |
该方法准确地映射到 MSIL 代码,或者已解释了此帧,因此 IP 的值是正确的。 |
MAPPING_APPROXIMATE |
已成功映射该方法,但 IP 的值可能为近似值。 |
备注
可以使用 ICorDebugILFrame::GetIP 方法获取指令指针的值。
要求
**平台:**请参见 .NET Framework 系统要求。
头文件: CorDebug.idl、CorDebug.h
**库:**CorGuids.lib
**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0