Condividi tramite


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>

Vedi anche