Dela via


reportAvOnComRelease MDA

Kommentar

Den här artikeln är specifik för .NET Framework. Det gäller inte för nyare implementeringar av .NET, inklusive .NET 6 och senare versioner.

Den reportAvOnComRelease hanterade felsökningsassistenten (MDA) aktiveras när undantag utlöses på grund av användarreferensräkningsfel vid körning av COM-interop och med hjälp av Release metoden eller ReleaseComObject kombinerat med råa COM-anrop.

Symtom

Åtkomstöverträdelser och minnesskada.

Orsak

Ibland utlöses ett undantag på grund av användarreferensräkningsfel vid com-interop och med hjälp av Release metoden eller ReleaseComObject kombinerat med råa COM-anrop. Normalt ignoreras det här undantaget eftersom det inte skulle orsaka en åtkomstöverträdelse i CLR, vilket leder till att det tas bort. När den här assistenten är aktiverad kan sådana undantag identifieras och rapporteras i stället för att helt enkelt ignoreras.

Åtgärd

Granska din referensräkningskod och sök efter fel samt granska objektets interna klienter för referensräkningsfel.

Effekt på körningen

Två lägen är tillgängliga. allowAv Om attributet är trueförhindrar assistenten körningen från att ta bort åtkomstöverträdelsen. Om allowAv är false, vilket är standardvärdet, tar körningen bort åtkomstöverträdelsen, men ett varningsmeddelande rapporteras till användaren för att indikera att ett undantag utlöstes och ignorerades.

Output

Om möjligt innehåller utdata COM-gränssnittspekarens ursprungliga vtable. Annars visas ett informationsmeddelande.

Konfiguration

<mdaConfig>
  <assistants>
    <reportAvOnComRelease />
  </assistants>
</mdaConfig>

Se även