Rilevamento e isolamento di perdite di memoria

Aggiornamento: novembre 2007

Le informazioni contenute in questo argomento sono valide per:

Edition

Visual Basic

C#

C++

Web Developer

Express

Argomento non applicabile Argomento non applicabile

Solo nativo

Argomento non applicabile

Standard

Argomento non applicabile Argomento non applicabile

Solo nativo

Argomento non applicabile

Pro e Team

Argomento non applicabile Argomento non applicabile

Solo nativo

Argomento non applicabile

Legenda tabella:

Argomento applicabile

Si applica

Argomento non applicabile

Non applicabile

Argomento valido ma comando nascosto per impostazione predefinita

Comando o comandi nascosti per impostazione predefinita.

La capacità di allocare e disallocare dinamicamente memoria è una delle più potenti caratteristiche della programmazione in C/C++, ma può rappresentarne anche la maggiore debolezza. Tant'è vero che nelle applicazioni in C/C++ i problemi di gestione della memoria sono tra gli errori più comuni.

Uno degli errori più gravi e difficili da rilevare è rappresentato dalle perdite di memoria, ovvero dall'impossibilità di disallocare correttamente la memoria allocata in precedenza. Una piccola perdita di memoria che si verifica una sola volta può non essere nemmeno notata, ma i programmi che perdono grandi quantità di memoria o che ne perdono in continuazione possono presentare sintomi che vanno da cattive prestazioni (che peggiorano gradualmente) fino all'esaurimento completo della memoria stessa. Un programma che perde memoria può addirittura consumarne in quantità tale da causare il blocco di un altro programma, senza che l'utente riesca a rendersi conto dell'origine del problema. Anche le perdite di memoria che non provocano danni possono inoltre essere sintomatiche di altri problemi.

Fortunatamente le librerie di CRT (C Run-Time) e del debugger di Visual Studio offrono un supporto efficace per l'individuazione e l'identificazione delle perdite di memoria. Per comprendere come rilevare le perdite di memoria mediante le utilità di debug CRT, leggere i seguenti argomenti:

MFC offre un proprio insieme di utilità per il rilevamento di perdite di memoria in programmi MFC. Per ulteriori informazioni, vedere Rilevamento di perdite di memoria in MFC.

Vedere anche

Concetti

Protezione del debugger

Altre risorse

Debug del codice nativo