封送 MDA

如果 CLR 为一个方法参数或一个结构的字段设置封送信息,则将激活 marshaling 托管调试助手 (MDA)。 JIT 编译的程序集无法使用此 MDA。

对运行时的影响

此 MDA 对 CLR 无任何影响。

Output

MDA 显示托管上下文和非托管上下文中的参数和字段的类型以及包含该类型的结构或方法。 下面是字段输出的一个示例:

Marshaling from 'Char' to 'ANSI char'
name="assembly!Namespace.Class::myChar

配置

MDA 配置允许您根据涉及的字段或方法名来筛选报告的封送信息。 下面的示例演示如何使用 methodFilter、fieldFilter 和 match 元素来指定筛选器。 将 name 特性设置为星号 (*) 就可与所有设置相匹配。

<mdaConfig>
  <assistants>
    <marshaling>
      <methodFilter>
        <match name="Method1"/>
        <match name="Method2"/>
      </methodFilter>
      <fieldFilter>
        <match name="Field1"/>
        <match name="Field2"/>
       </fieldFilter>
    </marshaling>
  </assistants>
</mdaConfig>

请参见

参考

MarshalAsAttribute

概念

使用托管调试助手诊断错误

互操作封送处理

其他资源

互操作性