inválidoGCHandleCookie 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 invalidGCHandleCookie
assistente de depuração gerenciado (MDA) é ativado quando uma conversão de um cookie inválido IntPtr para um GCHandle é tentada.
Sintomas
Comportamento indefinido, como violações de acesso e corrupção de memória ao tentar usar ou recuperar um GCHandle de um IntPtrarquivo .
Motivo
O cookie é provavelmente inválido porque não foi originalmente criado a partir de um GCHandle, representa um GCHandle que já foi liberado, é um cookie para um GCHandle em um domínio de aplicativo diferente, ou foi empacotado para código nativo como um GCHandle , mas passado de volta para o CLR como um IntPtr, onde um cast foi tentado.
Resolução
Especifique um cookie válido IntPtr para o GCHandle.
Efeito no tempo de execução
Quando esse MDA está habilitado, o depurador não é mais capaz de rastrear as raízes de volta para seus objetos porque os valores de cookie passados de volta são diferentes daqueles retornados quando o MDA não está habilitado.
Saída
O valor do cookie inválido IntPtr é relatado.
Configuração
<mdaConfig>
<assistants>
<invalidGCHandleCookie />
</assistants>
</mdaConfig>