Partilhar via


marshalCleanupError MDA

Nota

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

O marshalCleanupError assistente de depuração gerenciado (MDA) é ativado quando o Common Language Runtime (CLR) encontra um erro ao tentar limpar estruturas temporárias e memória usada para organizar tipos de dados entre limites de código nativo e gerenciado.

Sintomas

Um vazamento de memória ocorre ao fazer transições de código nativo e gerenciado, o estado de tempo de execução, como a cultura de thread, não é restaurado ou ocorrem erros na SafeHandle limpeza.

Motivo

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

Resolução

Analise todas as SafeHandle implementações de destruidor, finalizador e marshaller personalizado em busca de erros.

Efeito no tempo de execução

Este MDA não tem efeito sobre o CLR.

Saída

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

Configuração

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

Consulte também