互操作事件捕获有关公共中间语言(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。 |