reportAvOnComRelease MDA

Note

Ez a cikk a .NET-keretrendszerre vonatkozik. Nem vonatkozik a .NET újabb implementációira, beleértve a .NET 6-os és újabb verzióit.

A reportAvOnComRelease felügyelt hibakeresési segéd (MDA) akkor aktiválódik, ha a felhasználók hivatkozásszámlálási hibái miatt kivételek lépnek fel a COM-együttműködés végrehajtásakor, valamint a Release nyers COM-hívásokkal kombinált vagy ReleaseComObject metódus használatával.

Symptoms

Hozzáférés-megsértések és memóriasérülések.

A probléma oka

Időnként kivételt okoz a felhasználói referenciaszámlálási hibák a COM-interop végrehajtása során, valamint a Release nyers COM-hívásokkal kombinált metódus vagy ReleaseComObject metódus használata során. Ezt a kivételt általában elveti a rendszer, mert ha nem teszi meg, az hozzáférés-megsértést okozna a CLR-ben, ami miatt a rendszer leállna. Ha ez az asszisztens engedélyezve van, az ilyen kivételek észlelhetők és jelenthetők ahelyett, hogy egyszerűen elvetik őket.

Resolution

Vizsgálja meg a hivatkozásszámláló kódot, és keressen hibákat, valamint vizsgálja meg az objektum natív ügyfeleit a hivatkozásszámlálási hibák tekintetében.

Effektus a futtatókörnyezetre

Két mód érhető el. Ha az allowAv attribútum az true, az asszisztens megakadályozza, hogy a futtatókörnyezet elvetje a hozzáférési szabálysértést. Ha allowAv ez az falsealapértelmezett beállítás, akkor a futtatókörnyezet elveti a hozzáférés-megsértést, de a rendszer figyelmeztetést küld a felhasználónak, amely jelzi, hogy kivételt dobtak ki és elvettek.

Kimenet

Ha lehetséges, a kimenet tartalmazza a COM-felület mutatójának eredeti virtuális tábláját. Ellenkező esetben egy tájékoztató üzenet jelenik meg.

Konfiguráció

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

Lásd még