Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga / Notatka
Ten artykuł jest specyficzny dla programu .NET Framework. Nie ma zastosowania do nowszych implementacji .NET, w tym .NET 6 i nowszych wersji.
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.
Symptoms
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 korzysta ze składników użytkownika niezarządzanych, te składniki mogły uszkodzić stertę zbieraną przez śmieci. Powoduje to naruszenie dostępu w środowisku CLR, gdy moduł odśmiecacz pamięci próbuje przejść graf obiektu.
Rozdzielczość
Włączenie tego asystenta skraca czas między uszkodzeniem niezarządzanego składnika sterty zbieranej przez śmieci, a naruszeniem dostępu przez wymuszenie odzyskiwania pamięci przed każdym przejściem zarządzanym.
Wpływ na środowisko uruchomieniowe
Powoduje odzyskiwanie pamięci za każdym razem, gdy wątek przechodzi z niezarządzanego do kodu zarządzanego.
Wynik
Ta usługa MDA nie generuje żadnych danych wyjściowych.
Konfiguracja
<mdaConfig>
<assistants>
<gcUnmanagedToManaged/>
</assistants>
</mdaConfig>