Compartilhar via


MDA raceOnRCWCleanup

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 raceOnRCWCleanup é ativado quando o CLR (Common Language Runtime) detecta que um RCW (Runtime Callable Wrapper) está em uso quando uma chamada para liberá-lo é feita usando um comando, assim como o método Marshal.ReleaseComObject.

Sintomas

Violações de acesso ou corrupção de memória durante após liberar um RCW usando ReleaseComObject ou um método semelhante.

Causa

O RCW está em uso em outro thread ou na pilha do thread de liberação. Não é possível liberar um RCW que está em uso.

Resolução

Não libere um RCW que possa estar em uso no thread atual ou em outros.

Efeito sobre o runtime

Esse MDA não tem efeito sobre o CLR.

Saída

Uma mensagem que descreve o erro.

Configuração

<mdaConfig>
  <assistants>
    <raceOnRCWCleanup/>
  </assistants>
</mdaConfig>

Confira também