互操作 ETW 事件

互操作事件捕获有关公共中间语言(CIL)存根生成和缓存的信息。

ILStubGenerated 事件

下表显示了关键字和级别。 (有关详细信息,请参阅 CLR ETW Keywords and Levels。)

引发事件的关键字 Level
InteropKeyword (0x2000) 信息性 (4)

下表显示了事件信息。

事件 事件 ID 在发生以下情况时引发
ILStubGenerated 88 已生成 CIL 存根。

下表显示了事件数据。

字段名 数据类型 说明
ModuleID win:UInt16 模块标识符。
StubMethodID win:UInt64 存根方法标识符。
StubFlags win:UInt64 存根标志:

0x1 - 反向互操作。

0x2 - COM 互操作。

0x4 - 由 NGen.exe 生成的存根。

0x8 - 委托。

0x10 - 变量参数。

0x20 - 非托管被调用方。
ManagedInteropMethodToken win:UInt32 托管互操作方法的标记。
ManagedInteropMethodNameSpace win:UnicodeString 托管互操作方法的命名空间。
ManagedInteropMethodName win:UnicodeString 托管互操作方法的名称。
ManagedInteropMethodName win:UnicodeString 托管互操作方法的签名。
NativeMethodSignature win:UnicodeString 本机方法签名。
StubMethodSignature win:UnicodeString 存根方法签名。
StubMethodILCode win:UnicodeString 存根方法的 CIL 代码。
ClrInstanceID win:UInt16 CLR 或 CoreCLR 的实例的唯一 ID。

ILStubCacheHit 事件

下表显示了关键字和级别。

引发事件的关键字 Level
InteropKeyword (0x2000) 信息性 (4)

下表显示了事件信息。

事件 事件 ID 在发生以下情况时引发
ILStubCacheHit 89 已访问 CIL 缓存。

下表显示了事件数据。

字段名 数据类型 说明
ModuleID win:UInt16 模块标识符。
StubMethodID win:UInt64 存根方法标识符。
ManagedInteropMethodToken win:UInt32 托管互操作方法的标记。
ManagedInteropMethodNameSpace win:UnicodeString 托管互操作方法的命名空间。
ManagedInteropMethodName win:UnicodeString 托管互操作方法的名称。
ManagedInteropMethodName win:UnicodeString 托管互操作方法的签名。
ClrInstanceID win:UInt16 CLR 或 CoreCLR 的实例的唯一 ID。

请参阅