invalidGCHandleCookie-MDA
Hinweis
Dieser Artikel gilt für das .NET Framework. Sie gilt nicht für neuere Implementierungen von .NET, einschließlich .NET 6 und höherer Versionen.
Der invalidGCHandleCookie
-MDA (Assistent für verwaltetes Debuggen) wird aktiviert, wenn eine Konvertierung von einem ungültigen IntPtr-Cookie in ein GCHandle versucht wird.
Symptome
Ein nicht definiertes Verhalten, z.B. Zugriffsverletzungen und Speicherschäden, beim Versuch GCHandle aus IntPtr abzurufen oder zu verwenden.
Ursache
Das Cookie ist wahrscheinlich ungültig, da es entweder nicht ursprünglich von GCHandle erstellt wurde, ein GCHandle darstellt, das bereits freigegeben wurde oder ein Cookie für ein GCHandle in einer anderen Anwendungsdomäne ist. Außerdem könnte es als GCHandle in nativen Code gemarshallt und als IntPtr in die CLR zurückgegeben worden sein, in der eine Umwandlung versucht wurde.
Lösung
Geben Sie ein gültiges IntPtr-Cookie für GCHandle an.
Auswirkungen auf die Laufzeit
Wenn dieser MDA aktiviert ist, kann der Debugger die Stämme nicht länger zu ihren Objekten zurückverfolgen, da die zurückgegebenen Cookiewerte sich von denjenigen unterscheiden, die zurückgegeben werden, wenn der MDA nicht aktiviert ist.
Output
Der ungültige IntPtr-Cookiewert wird gemeldet.
Konfiguration
<mdaConfig>
<assistants>
<invalidGCHandleCookie />
</assistants>
</mdaConfig>