corrupção de memória em seu software pode ser muito frustrante para depurar. Ele ajuda , no entanto, para entender o que causa corrupção de memória e como proceder para corrigi-lo. A memória pode ser corrompido por um estouro de buffer , usando a memória não inicializada , ou tentando ler ou escrever na memória inválido. O programador deve encontrar a fonte do problema e corrigi-lo. Coisas que você precisa
código-fonte do programa
compilador para o código-fonte
Show Mais instruções
1
Reduza sua pesquisa. É um indício de que você está indo na direção certa se você não conseguir reproduzir o erro , quando uma parte do código é impedido de correr. Se você estiver usando o Visual C + +, o depurador pode ajudá-lo a percorrer o código para descobrir onde a corrupção acontece.
2
Penteie todo o código fonte. Depois de ter reduzido o problema para uma seção menor do código, você deve passar por isso e ter certeza de que toda a memória lê e escreve usam memória válido. Declarações de depuração de saída utilizando funções como OutputDebugString para certificar-se que os valores de memória são válidos . Certifique-se de que limites de matriz são obedecidas e que a memória é inicializado e não definido como nulo ou excluído antes da sua utilização .
3
corrigir o problema. Depois de ter encontrado o problema, eliminá-lo. Se for um estranho desalocação de memória , basta remover essa linha de código . Assegure-se que todas as matrizes são usados apenas dentro de seus limites e que toda a memória é acessada diretamente inicializado antes da sua utilização .
4
evitar que o problema ocorra novamente . Às vezes, usando um gerenciador de memória , de modo que todas as alocações de memória e deallocations tem uma interface comum pode ajudar a eliminar erros de corrupção de memória. Você pode querer verificar cada array ler ou escrever, de modo que você pode garantir que ele está dentro dos limites .