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>