Partilhar via


reportAvOnComRelease MDA

The reportAvOnComRelease Assistente de depuração gerenciada (MDA) é ativado quando exceções são lançadas devido à contagem erros durante a execução COM interoperabilidade e o uso de referência do usuário a Release ou ReleaseComObject método combinado com chamadas COM brutas.

Sintomas

Violações de acesso e corrupção de memória.

Causa

Ocasionalmente, uma exceção for gerada devido a contagem de erros ao mesmo tempo em que a interoperabilidade COM a execução e usando o de referência de usuárioRelease ou ReleaseComObject método combinado com chamadas COM brutas. Normalmente, essa exceção é descartada porque isso não poderia causar uma violação de acesso no CLR, trazendo-a para baixo.Quando esse assistente estiver ativado, essas exceções podem ser detectadas e reportadas em vez de simplesmente ser descartado.

Resolução

Examine sua referência de código e procure por erros de contagem, bem sistema autônomo examinar sistema autônomo clientes nativo do seu objeto para erros de contagem de referência.

Efeito sobre o tempo de execução

Dois modos estão disponível.Se o allowAv o atributo é true, o assistente impede que o tempo de execução descartando a violação de acesso. If allowAv é false, que é o padrão, o tempo de execução descarta a violação de acesso, mas uma mensagem de aviso é informada ao usuário para indicar que uma exceção foi lançada e descartada.

Saída

Se possível, o resultado contém vtable original do ponteiro de interface COM.Caso contrário, será exibida uma mensagem informativa.

Configuração

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

Consulte também

Conceitos

Diagnosticar erros com assistentes de depuração gerenciadas

Visão geral do empacotamento interop

Referência

MarshalAsAttribute

Outros recursos

Interoperabilidade