Compartilhar via


MDA marshaling

Observação

Este artigo é específico para aplicativos .NET Framework. Ele não se aplica a implementações mais recentes do .NET, incluindo o .NET 6 e versões posteriores.

O MDA (Assistente de Depuração Gerenciado) de marshaling é ativado quando o CLR define informações de marshaling para um parâmetro de método ou um campo de uma estrutura. Esse MDA não funciona para assemblies compilados por JIT.

Efeito sobre o runtime

Esse MDA não tem efeito sobre o CLR.

Saída

O MDA exibe o tipo do parâmetro ou campo nos contextos gerenciado e não gerenciado, bem como a estrutura ou o método que contém o tipo. A seguir está um exemplo da saída de um campo:

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

Configuração

A configuração de MDA permite que você filtre as informações de marshaling relatadas com base no campo envolvido ou em nomes de método. O exemplo a seguir mostra o uso dos elementos methodFilter, fieldFilter e match para especificar filtros. Definir o atributo name como um asterisco (*) corresponderá a tudo.

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

Confira também