“Cor调试代码调用目的”枚举

描述为何导出的函数会调用托管代码。

语法

typedef enum CorDebugCodeInvokePurpose  
{  
    CODE_INVOKE_PURPOSE_NONE,  
    CODE_INVOKE_PURPOSE_NATIVE_TO_MANAGED_TRANSITION,
    CODE_INVOKE_PURPOSE_CLASS_INIT,  
    CODE_INVOKE_PURPOSE_INTERFACE_DISPATCH,  
} CorDebugCodeInvokePurpose;  

成员

成员 说明
CODE_INVOKE_PURPOSE_NONE 无或未知。
CODE_INVOKE_PURPOSE_NATIVE_TO_MANAGED_TRANSITION 托管代码会运行所有的托管入口点,例如反向平台调用 (p-invoke)。 通过运行时间无法得知更多目的。
CODE_INVOKE_PURPOSE_CLASS_INIT 托管代码会运行一个静态构造函数。
CODE_INVOKE_PURPOSE_INTERFACE_DISPATCH 托管代码会运行一些受调用的接口方法的实施。

备注

ICorDebugProcess6::GetExportStepInfo 方法利用该枚举来提供单步执行托管代码相关的信息。

注意

此枚举仅用于 .NET Native 调试方案。

要求

平台:请参阅系统要求

标头:CorDebug.idl、CorDebug.h

库:CorGuids.lib

.NET Framework 版本:4.6 及更高版本,仅限 .NET Native

请参阅