Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Note
Este artigo é específico para .NET Framework. Ele não se aplica a implementações mais recentes do .NET, incluindo o .NET 6 e versões posteriores.
O reportAvOnComRelease MDA (assistente de depuração gerenciada) é ativado quando exceções são geradas devido a erros de contagem de referência do usuário ao executar a interoperabilidade COM e usar o Release método ou ReleaseComObject combinado com chamadas COM brutas.
Symptoms
Violações de acesso e corrupção de memória.
Cause
Ocasionalmente, uma exceção é gerada devido a erros de contagem de referência do usuário ao executar a interoperabilidade COM e usar o Release método ou ReleaseComObject combinado com chamadas COM brutas. Normalmente, essa exceção é descartada porque não fazer isso causaria uma violação de acesso no CLR, reduzindo-a. Quando esse assistente está habilitado, essas exceções podem ser detectadas e relatadas em vez de serem simplesmente descartadas.
Resolução
Examine o código de contagem de referências e pesquise erros, bem como examine os clientes nativos do objeto para obter erros de contagem de referência.
Efeito no Runtime
Dois modos estão disponíveis. Se o allowAv atributo for true, o assistente impedirá que o runtime descarte a violação de acesso. Se allowAv for false, que é o padrão, o runtime descarta a violação de acesso, mas uma mensagem de aviso é relatada ao usuário para indicar que uma exceção foi lançada e descartada.
Saída
Se possível, a saída contém a vtable original do ponteiro da interface COM. Caso contrário, uma mensagem informativa será exibida.
Configuração
<mdaConfig>
<assistants>
<reportAvOnComRelease />
</assistants>
</mdaConfig>