marshalCleanupError-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 marshalCleanupError
-MDA (Managed Debugging Assistant, Assistent für verwaltetes Debuggen) wird aktiviert, wenn die Common Language Runtime (CLR) beim Bereinigen von temporären Strukturen und Arbeitsspeicher, die zum Marshalling von Datentypen über die Grenze zwischen nativem und verwaltetem Code verwendet wurden, auf einen Fehler stößt.
Symptome
Beim Übergang von systemeigenem zu verwaltetem Code tritt Speicherverlust auf, der Laufzeitzustand (wie z. B. die Threadkultur) wird nicht wiederhergestellt oder es treten Fehler beim Bereinigen von SafeHandle auf.
Ursache
Beim Bereinigen temporärer Strukturen ist ein unerwarteter Fehler aufgetreten.
Lösung
Überprüfen Sie alle SafeHandle-Destruktoren-, Finalizer- und benutzerdefinierten Marshallerimplementierungen für auf Fehler.
Auswirkungen auf die Laufzeit
Dieser MDA hat keine Auswirkungen auf die CLR.
Ausgabe
Eine Meldung über den während der Bereinigung fehlgeschlagenen Vorgang.
Konfiguration
<mdaConfig>
<assistants>
<marshalCleanupError />
</assistants>
</mdaConfig>