Compartilhar via


MDA marshalCleanupError

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) marshalCleanupError é ativado quando o CLR (Common Language Runtime) encontra um erro ao tentar limpar estruturas temporárias e a memória usada para realizar marshaling de tipos de dados entre limites de código gerenciado e nativo.

Sintomas

A perda de memória ocorre em transações de código gerenciado e nativo, no estado de runtime, como quando a cultura de thread não é restaurada ou quando há um erro na limpeza de SafeHandle.

Causa

Ocorreu um erro inesperado durante a limpeza das estruturas temporárias.

Resolução

Verifique se há erro em todas as implementações do destruidor, do finalizador e do marshaller personalizado SafeHandle.

Efeito sobre o runtime

Esse MDA não tem efeito sobre o CLR.

Saída

Uma mensagem que indica que a operação falhou durante a limpeza.

Configuração

<mdaConfig>
  <assistants>
    <marshalCleanupError />
  </assistants>
</mdaConfig>

Confira também