Isolamento e detecção de perda de memória
Este tópico se aplica a:
Edição |
Visual Basic |
C# |
C++ |
Desenvolvedores Web |
---|---|---|---|---|
Express |
Somente nativo |
|||
Padrão |
Somente nativo |
|||
PRO e equipe |
Somente nativo |
Legenda de tabela:
Aplica-se |
|
Não é aplicada |
|
Comando ou comandos oculta por padrão. |
A capacidade de alocar dinamicamente e desalocar memória é um dos recursos mais fortes da programação C/C ++, mas o maior nível de segurança também pode ser o maior ponto fraco.Isso é certamente verdadeiro de aplicativos em C/C ++, onde os problemas de tratamento de memória estão entre os erros mais comuns.
Um dos mais sutis e difíceis de detectar bugs é o perda de memória — a falha para desalocar memória que foi anteriormente alocada corretamente.Não pode ser notado um perda de memória pequeno ocorre somente uma vez, mas os programas que vazem grandes quantidades de memória ou vazam progressivamente, talvez exibam sintomas desde desempenho ruim (e gradualmente decrescente) até ficar sem memória completamente.Para piorar, vazando um programa pode usar para que a quantidade de memória que ele faz com que o programa outro falha, deixando o usuário com há indicação para onde o problema está realmente.Além disso, vazamentos de memória mesmo inofensivo podem ser sintomáticos de outros problemas.
Felizmente, o depurador do Visual Studio e as bibliotecas de (CRT) time de execução C fornecem meio efetivo para detectar e identificar vazamentos de memória.Para entender como detectar vazamentos de memória usando os recursos de depuração do CRT, leia os seguintes tópicos:
MFC fornece seu próprio conjunto de recursos para a detecção de vazamentos de memória nos programas do MFC.Para obter mais informações, consulte Detecção de vazamento de memória no MFC.