marshalCleanupError MDA
Uwaga
Ten artykuł jest specyficzny dla programu .NET Framework. Nie ma zastosowania do nowszych implementacji platformy .NET, w tym .NET 6 i nowszych wersji.
Asystent marshalCleanupError
zarządzanego debugowania (MDA) jest aktywowany, gdy środowisko uruchomieniowe języka wspólnego (CLR) napotka błąd podczas próby wyczyszczenia tymczasowych struktur i pamięci używanej do określania typów danych między granicami kodu natywnego i zarządzanego.
Objawy
Wyciek pamięci występuje podczas przechodzenia kodu natywnego i zarządzanego, stan środowiska uruchomieniowego, taki jak kultura wątku, nie jest przywracany, lub występują błędy podczas SafeHandle czyszczenia.
Przyczyna
Wystąpił nieoczekiwany błąd podczas czyszczenia struktur tymczasowych.
Rozwiązanie
Przejrzyj wszystkie SafeHandle implementacje destruktora, finalizatora i niestandardowego marshallera pod kątem błędów.
Wpływ na środowisko uruchomieniowe
Ta usługa MDA nie ma wpływu na CLR.
Wyjście
Komunikat zgłaszający operację, która nie powiodła się podczas czyszczenia.
Konfigurowanie
<mdaConfig>
<assistants>
<marshalCleanupError />
</assistants>
</mdaConfig>