Редагувати

Поділитися через


marshaling MDA

Note

This article is specific to .NET Framework. It doesn't apply to newer implementations of .NET, including .NET 6 and later versions.

The marshaling managed debugging assistant (MDA) is activated when the CLR sets up marshalling information for a method parameter or a field of a structure. This MDA does not work for JIT-compiled assemblies.

Effect on the Runtime

This MDA has no effect on the CLR.

Output

The MDA displays the type of the parameter or field in the managed and unmanaged contexts, and the structure or method containing the type. The following is an example of the output for a field:

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

Configuration

The MDA configuration allows you to filter the reported marshalling information based on the involved field or method names. The following example shows the use of the methodFilter, fieldFilter, and match elements to specify filters. Setting the name attribute to an asterisk (*) will match everything.

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

See also