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>

Siehe auch