gcUnmanagedToManaged MDA
Asystent gcUnmanagedToManaged
zarządzanego debugowania (MDA) powoduje odzyskiwanie pamięci za każdym razem, gdy wątek przechodzi z niezarządzanego do kodu zarządzanego.
Objawy
Aplikacja, która uruchamia niezarządzane składniki użytkownika przy użyciu modelu COM i wywołania platformy, powoduje nieokreślone naruszenie dostępu w środowisku CLR.
Przyczyna
Jeśli aplikacja uruchamia niezarządzane składniki użytkownika, te składniki mogły uszkodzić stertę zbieraną przez śmieci. Powoduje to naruszenie dostępu w środowisku CLR, gdy moduł odśmiecnięcia pamięci próbuje przejść graf obiektu.
Rozwiązanie
Włączenie tego asystenta skraca czas między uszkodzeniem niezarządzanego składnika sterty, a naruszeniem dostępu przez wymuszenie odzyskiwania pamięci przed każdym zarządzanym przejściem.
Wpływ na środowisko uruchomieniowe
Powoduje odzyskiwanie pamięci za każdym razem, gdy wątek przechodzi z niezarządzanego do zarządzanego kodu.
Dane wyjściowe
To rozwiązanie MDA nie generuje żadnych danych wyjściowych.
Konfigurowanie
<mdaConfig>
<assistants>
<gcUnmanagedToManaged/>
</assistants>
</mdaConfig>
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla