Partilhar via


Como posso depurar uma violação de acesso?

Descrição do problema

Meu programa produz uma violação de acesso. Como posso depurar isso?

Solução

Use a janela Pilha de Chamadas para fazer backup da pilha de chamadas, procurar os dados corrompidos que estão sendo passados como um parâmetro para uma função. Se isso falhar, tente definir um ponto de interrupção em um ponto antes do local onde a violação de acesso ocorre. Verifique se os dados estão corretos nesse ponto. Nesse caso, tente depurar no local onde a violação de acesso ocorreu. Se você puder identificar uma única ação, por exemplo, um comando de menu que levou à violação de acesso, poderá tentar outra técnica: definir um ponto de interrupção entre a ação (neste exemplo, o comando de menu) e a violação de acesso. Você pode analisar o estado do programa durante os momentos que levam à violação de acesso.

Você pode usar uma combinação dessas técnicas para trabalhar para a frente e para trás até ter isolado o local onde a violação de acesso ocorreu. Para obter mais informações, consulte Usando a janela de pilha de chamadas.

Consulte também

Conceitos

Perguntas frequentes de depuração do código nativo

Outros recursos

Depurando código nativo