invalidGCHandleCookie-MDA
Der invalidGCHandleCookie-MDA (Managed Debugging Assistant, Assistent für verwaltetes Debuggen) wird aktiviert, wenn versucht wird, ein ungültiges IntPtr-Cookie in ein GCHandle umzuwandeln.
Symptome
Undefiniertes Verhalten wie Zugriffsverletzungen und Speicherschäden beim Versuch, ein GCHandle aus einem IntPtr zu verwenden oder abzurufen.
Ursache
Das Cookie ist wahrscheinlich ungültig, weil es ursprünglich nicht von einem GCHandle erstellt wurde, ein bereits freigegebenes GCHandle darstellt, sich auf ein GCHandle in einer anderen Anwendungsdomäne bezieht oder als GCHandle in systemeigenen Code gemarshallt, jedoch als IntPtr wieder in die CLR zurückgegeben und dann dort eine Umwandlung versucht wurde.
Lösung
Geben Sie ein gültiges IntPtr-Cookie für das GCHandle an.
Auswirkungen auf die Laufzeit
Wenn dieser MDA aktiviert wird, kann der Debugger Wurzeln nicht mehr zu den Objekten zurückverfolgen, da sich die Werte der zurückgegebenen Cookies von denen ohne aktivierten MDA unterscheiden.
Output
Es wird der Wert des ungültigen IntPtr-Cookies gemeldet.
Konfiguration
<mdaConfig>
<assistants>
<invalidGCHandleCookie />
</assistants>
</mdaConfig>
Siehe auch
Referenz
Konzepte
Diagnostizieren von Fehlern mit Assistenten für verwaltetes Debuggen