MDA invalidGCHandleCookie
Nota
Questo articolo è specifico per .NET Framework. Non si applica alle implementazioni più recenti di .NET, incluse .NET 6 e versioni successive.
L'assistente al debug gestito invalidGCHandleCookie
viene attivato quando si tenta una conversione da un cookie IntPtr non valido a un oggetto GCHandle.
Sintomi
Comportamento indefinito, ad esempio violazioni di accesso e danneggiamento della memoria durante il tentativo di usare o recuperare un oggetto GCHandle da un cookie IntPtr.
Causa
Il cookie probabilmente non è valido perché non è stato originariamente creato da un GCHandleoggetto , rappresenta un oggetto GCHandle che è già stato liberato, è un cookie di GCHandle in un dominio applicazione diverso oppure è stato eseguito il marshalling al codice nativo come ma GCHandle passato nuovamente a CLR come , IntPtrin cui è stato tentato un cast.
Risoluzione
Specificare un cookie IntPtr valido per GCHandle.
Effetto sull'ambiente di esecuzione
Quando questo assistente al debug gestito è abilitato, il debugger non è più in grado di tracciare di nuovo le radici ai rispettivi oggetti perché i valori del cookie restituiti sono diversi da quelli restituiti quando l'assistente al debug gestito non è abilitato.
Output
Viene segnalato il valore non valido del cookie IntPtr.
Impostazione
<mdaConfig>
<assistants>
<invalidGCHandleCookie />
</assistants>
</mdaConfig>