Solucionando problemas de exceções: sistema.AccessViolationException
An AccessViolationException é lançada quando houver uma tentativa de ler ou gravar em memória protegida.
Dicas associadas
Certifique-se de que a memória que você está tentando acessar foi alocada.
O gerenciamento de memória automática é um dos serviços que o Common Language Runtime fornece.Você pode querer mover para código gerenciado para tirar proveito deste serviço.Para obter mais informações, consulte Gerenciamento automático de memória.Certifique-se de que a memória que você está tentando acessar não esteja corrompida.
Se várias operações de ler ou gravar tiverem ocorrido através de ponteiros incorretos, a memória pode estar corrompida.
Comentários
Uma violação de acesso ocorre em código não gerenciado ou não seguro quando ele tenta ler ou escrever em memória que não foi alocada, ou para a qual ele não tem acesso.Nem todas as leituras ou escritas através de ponteiros incorretos a implicam violações de acesso, portanto uma violação de acesso geralmente indica que várias leituras ou gravações ocorreram através de ponteiros incorretos, e que a memória pode estar corrompida.
No código gerenciado, todas as referências são válidas ou nulas.Qualquer operação que tenta referenciar uma referência nula no código verificável lança NullReferenceException.
Uma violação de acesso que ocorre em código gerenciado não seguro pode ser expressa sistema autônomo um de um NullReferenceException ou um AccessViolationException, dependendo da plataforma.
Violações de acesso em código não gerenciado que vão para código gerenciado sempre são encapsuladas um AccessViolationException.
Consulte também
Tarefas
Como: Descubra mais sobre uma exceção com Assistente de Exceção