DacpMethodDescData 结构
为方法的运行时信息定义传输缓冲区。
备注
此 API 最初旨在供运行时内部使用。 尽管现在支持第三方使用,但我们建议尽量使用 ICorDebug
和 ICorProfiler
API。
语法
struct DacpMethodDescData
{
int bHasNativeCode;
int bIsDynamic;
unsigned short wSlotNumber;
CLRDATA_ADDRESS NativeCodeAddr;
CLRDATA_ADDRESS data;
CLRDATA_ADDRESS MethodDescPtr;
CLRDATA_ADDRESS nativeCodeInfo;
CLRDATA_ADDRESS moduleInfo;
mdToken MDToken;
CLRDATA_ADDRESS payloadGC;
CLRDATA_ADDRESS payloadGC2;
CLRDATA_ADDRESS managedDynamicMethodObject;
CLRDATA_ADDRESS requestedIP;
DacpReJitData rejitDataCurrent;
DacpReJitData rejitDataRequested;
unsigned long cJittedRejitVersions;
};
成员
成员 | 说明 |
---|---|
bHasNativeCode |
指示运行时是否具有可用于方法的给定实例化的本机代码。 |
bIsDynamic |
指示方法是否通过轻量级代码生成动态生成的。 |
wSlotNumber |
方法表中方法的槽位编号。 |
NativeCodeAddr |
方法的初始本机地址。 |
data |
指向运行时在内部使用的缓冲区的指针。 |
MethodDescPtr |
指向运行时中的 MethodDesc 的指针。 |
nativeCodeInfo |
指向运行时内部用于跟踪方法的缓冲区的指针。 |
moduleInfo |
指向运行时内部用于模块信息的缓冲区的指针。 |
MDToken |
与给定方法关联的标记。 |
payloadGC |
指向运行时在内部使用的垃圾回收缓冲区的指针。 |
payloadGC2 |
指向运行时在内部使用的垃圾回收缓冲区的指针。 |
managedDynamicMethodObject |
如果方法是动态的,则运行时在内部使用此缓冲区进行信息跟踪。 |
requestedIP |
用于在给定本机代码地址时填充每个请求的结构。 |
rejitDataCurrent |
有关方法的最新检测版本的信息。 |
rejitDataRequested |
ReJIT 请求的本机地址的信息。 |
cJittedRejitVersions |
通过检测 ReJIT 方法的次数。 |
备注
此结构位于运行时内部,不通过任何标头或库文件公开。 若要使用,请定义上面指定的结构。
要求
平台:请参阅系统要求。
标头:无
库:无
.NET Framework 版本:自 4.7 起可用