Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Note
Dieser Artikel ist spezifisch für .NET Framework. Sie gilt nicht für neuere Implementierungen von .NET, einschließlich .NET 6 und höherer Versionen.
Der gcUnmanagedToManaged verwaltete Debugging-Assistent (Managed Debugging Assistant, MDA) verursacht eine Garbage Collection, wenn ein Thread von nicht verwaltetem Code zu verwaltetem Code wechselt.
Symptome
Eine Anwendung, die nicht verwaltete Benutzerkomponenten mit COM- und Plattform-Aufruf ausführt, verursacht einen unbestimmten Zugriffsverstoß in der CLR.
Ursache
Wenn eine Anwendung nicht verwaltete Benutzerkomponenten ausführt, haben diese Komponenten möglicherweise den garbage-collected heap beschädigt. Dies führt zu einer Zugriffsverletzung in der CLR, wenn der Garbage Collector versucht, das Objektdiagramm zu durchlaufen.
Auflösung
Durch Aktivieren dieses Assistenten wird die Zeit zwischen dem Zeitpunkt reduziert, in dem die nicht verwaltete Komponente den garbage-collection-Heap beschädigt, und wenn die Zugriffsverletzung auftritt, indem eine Garbage Collection vor jedem verwalteten Übergang erzwungen wird.
Effekt auf die Laufzeit
Verursacht eine Garbage Collection, wenn ein Thread von nicht verwaltetem Code zu verwaltetem Code wechselt.
Output
Diese MDA erzeugt keine Ausgabe.
Konfiguration
<mdaConfig>
<assistants>
<gcUnmanagedToManaged/>
</assistants>
</mdaConfig>