Udostępnij za pośrednictwem


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 truewartość , asystent uniemożliwia środowisku uruchomieniowemu odrzucenie naruszenia dostępu. Jeśli allowAv wartość jest falsewartoś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>

Zobacz też