Registrazione delle allocazioni di memoria

Le informazioni contenute in questo argomento sono valide per:

Edizione

Visual Basic

C#

F#

C++

Web Developer

Express

Argomento non applicabile Argomento non applicabile Argomento non applicabile

Solo nativo

Argomento non applicabile

Pro, Premium e Ultimate

Argomento non applicabile Argomento non applicabile Argomento non applicabile

Solo nativo

Argomento non applicabile

In MFC è possibile utilizzare la macro DEBUG_NEW anziché l'operatore new per un supporto nella ricerca di perdite di memoria. Nella versione di debug del programma, DEBUG_NEW tiene traccia del nome file e del numero di riga di ciascun oggetto da esso allocato. Quando si compila una versione di rilascio del programma, DEBUG_NEW si traduce in una semplice operazione new senza informazioni relative a nome file e numero di riga. La velocità non viene pertanto in alcun modo compromessa nella versione di rilascio del programma.

Se non si desidera riscrivere l'intero programma in modo da utilizzare DEBUG_NEW anziché new, sarà possibile definire questa macro nei file sorgente:

#define new DEBUG_NEW

Quando si esegue un dump di oggetti, ciascun oggetto allocato con DEBUG_NEW indicherà il file e il numero di riga in cui è stato allocato, consentendo di risalire all'origine delle perdite di memoria.

La versione di debug del framework MFC utilizza DEBUG_NEW automaticamente, a differenza del codice. Se si desidera godere dei vantaggi di DEBUG_NEW, sarà necessario utilizzare DEBUG_NEW esplicitamente oppure #define new come illustrato in precedenza.

Vedere anche

Altre risorse

Rilevamento di perdite di memoria in MFC