Delen via


invalidGCHandleCookie MDA

Notitie

Dit artikel is specifiek voor .NET Framework. Dit geldt niet voor nieuwere implementaties van .NET, waaronder .NET 6 en nieuwere versies.

De invalidGCHandleCookie beheerde foutopsporingsassistent (MDA) wordt geactiveerd wanneer een conversie van een ongeldige IntPtr cookie naar een GCHandle poging wordt uitgevoerd.

Symptomen

Niet-gedefinieerd gedrag, zoals toegangsschendingen en geheugenbeschadiging tijdens een poging om een van een GCHandleIntPtrte gebruiken of op te halen.

Oorzaak

De cookie is waarschijnlijk ongeldig omdat deze niet oorspronkelijk is gemaakt op basis van een GCHandle, vertegenwoordigt een GCHandle cookie die al is vrijgemaakt, een cookie is naar een GCHandle in een ander toepassingsdomein of is marshalled naar systeemeigen code als een GCHandle maar teruggegeven aan de CLR als een IntPtr, waarbij een cast is geprobeerd.

Oplossing

Geef een geldig cookie IntPtr op voor de GCHandle.

Effect op de runtime

Wanneer deze MDA is ingeschakeld, kan het foutopsporingsprogramma de hoofdmappen niet meer traceren naar hun objecten omdat de doorgegeven cookiewaarden afwijken van de waarden die worden geretourneerd wanneer de MDA niet is ingeschakeld.

Uitvoer

De ongeldige IntPtr cookiewaarde wordt gerapporteerd.

Configuratie

<mdaConfig>
  <assistants>
    <invalidGCHandleCookie />
  </assistants>
</mdaConfig>

Zie ook