reportAvOnComRelease 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.
reportAvOnComRelease
Asystent zarządzanego debugowania (MDA) jest aktywowany, gdy wyjątki są zgłaszane z powodu błędów zliczania odwołań użytkownika podczas wykonywania międzyoperacjności modelu COM i używania Release metody lub ReleaseComObject połączonej z nieprzetworzonymi wywołaniami COM.
Objawy
Naruszenia dostępu i uszkodzenie pamięci.
Przyczyna
Czasami zgłaszany jest wyjątek z powodu błędów zliczania odwołań użytkownika podczas przeprowadzania międzyoperacjności modelu COM i używania metody lub ReleaseComObject połączonej Release z nieprzetworzonymi wywołaniami COM. Zwykle ten wyjątek jest odrzucany, ponieważ nie powoduje to naruszenia dostępu w środowisku CLR, co spowoduje jego wyłączenie. Po włączeniu tego asystenta można wykryć i zgłosić takie wyjątki zamiast po prostu odrzucić.
Rozwiązanie
Sprawdź kod zliczania odwołań i wyszukaj błędy, a także sprawdź natywnych klientów obiektu pod kątem błędów zliczania odwołań.
Wpływ na środowisko uruchomieniowe
Dostępne są dwa tryby. allowAv
Jeśli atrybut ma true
wartość , asystent uniemożliwia środowisku uruchomieniowemu odrzucenie naruszenia dostępu. Jeśli allowAv
wartość jest false
wartością domyślną, środowisko uruchomieniowe odrzuca naruszenie dostępu, ale użytkownikowi zostanie zgłoszony komunikat ostrzegawczy wskazujący, że wyjątek został zgłoszony i odrzucony.
Wyjście
Jeśli to możliwe, dane wyjściowe zawierają oryginalną tabelę wirtualną wskaźnika interfejsu COM. W przeciwnym razie zostanie wyświetlony komunikat informacyjny.
Konfigurowanie
<mdaConfig>
<assistants>
<reportAvOnComRelease />
</assistants>
</mdaConfig>