Compartir a través de


MDA de reportAVOnComRelease

El asistente para la depuración administrada (MDA de reportAvOnComRelease se activa cuando se producen excepciones a causa de errores de recuento de referencias de usuario en operaciones de interoperabilidad COM y se utiliza el método Release o ReleaseComObject en combinación con llamadas COM sin formato.

Síntomas

Infracciones de acceso y daños en la memoria.

Motivo

En ocasiones, se produce una excepción a causa de errores de recuento de referencias de usuario en operaciones de interoperabilidad COM y con el método Release o ReleaseComObject en combinación con llamadas COM sin formato. Normalmente, se descarta esta excepción porque de lo contrario se produciría una infracción de acceso en el CLR, con la consiguiente desactivación Cuando está habilitado este asistente, se pueden detectar esas excepciones e informar de ellas en lugar de limitarse a descartarlas.

Resolución

Examine el código del recuento de referencias y busque errores, además de examinar los clientes nativos del objeto para determinar si hay errores de recuento de referencias.

Efecto en el tiempo de ejecución.

Hay dos modos disponibles. Si el atributo allowAv es true, el asistente impedirá que el motor en tiempo de ejecución descarte la infracción de acceso. Si allowAv es false, que es la configuración predeterminada, el motor en tiempo de ejecución descarta la infracción de acceso, pero se presenta un mensaje de advertencia al usuario para indicar que se inició y se descartó una excepción.

Output

Si es posible, el resultado contiene el puntero vtable original del puntero de la interfaz COM. De lo contrario, se muestra un mensaje informativo.

Configuración

<mdaConfig>
  <assistants>
    <reportAvOnComRelease allowAv="false"/>
  </assistants>
</mdaConfig>

Vea también

Referencia

MarshalAsAttribute

Conceptos

Diagnóstico de errores con ayudantes de depuraciones administradas

Cálculo de referencias de interoperabilidad

Otros recursos

Interoperabilidad