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>