reportAvOnComRelease MDA

Note

Este artículo es específico de .NET Framework. No se aplica a implementaciones más recientes de .NET, incluidas .NET 6 y versiones posteriores.

El reportAvOnComRelease asistente de depuración administrada (MDA) se activa cuando se producen excepciones debido a errores de recuento de referencias de usuario al realizar la interoperabilidad COM y usar el Release método o ReleaseComObject combinado con llamadas COM sin procesar.

Síntomas

Infracciones de acceso y daños en la memoria.

Causa

En ocasiones, se produce una excepción debido a errores de recuento de referencias de usuario mientras se realiza la interoperabilidad COM y se usa el Release método o ReleaseComObject combinado con llamadas COM sin formato. Normalmente, esta excepción se descarta porque no hacerlo provocaría una infracción de acceso en CLR, lo que lo reduce. Cuando este asistente está habilitado, estas excepciones se pueden detectar y notificar en lugar de descartarse simplemente.

Resolución

Examine el código de recuento de referencias y busque errores, así como examine los clientes nativos del objeto para obtener errores de recuento de referencias.

Efecto en el tiempo de ejecución

Hay dos modos disponibles. Si el allowAv atributo es true, el asistente impide que el tiempo de ejecución descarte la infracción de acceso. Si allowAv es false, que es el valor predeterminado, el tiempo de ejecución descarta la infracción de acceso, pero se notifica al usuario un mensaje de advertencia para indicar que se ha producido y descartado una excepción.

Output

Si es posible, la salida contiene la tabla virtual original del puntero de interfaz COM. De lo contrario, se muestra un mensaje informativo.

Configuration

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

Consulte también