Come rilevare una perdita di memoria in Windows con C ++

October 16

Le perdite di memoria si verificano quando un certo programma alloca memoria senza continuamente liberandolo, accumulando nel consumo di risorse in misura notevole. Quando si apre il Task Manager su un computer e vedere l'utilizzo della memoria di un programma continuo di arrampicata in idle, il programma probabilmente ha una perdita di memoria. In C ++, l'allocazione di memoria avviene nel "GlobalAlloc" o funzioni "malloc". I programmi scritti in C ++ usano "GlobalFree" o le funzioni di "liberi" per liberare la memoria.

istruzione

1 Aprire il codice C ++ in un ambiente di sviluppo.

2 Eseguire la scansione l'intero codice per "GlobalAlloc." Contare quante volte ci si imbatte in essa. Questo rappresenta il numero di volte il programma alloca memoria.

3 Eseguire la scansione del codice di nuovo per "GlobalFree" e contare il numero di istanze. Sottrarre la quantità di "GlobalFree" chiamate da chiamate "GlobalAlloc". Se il numero esce sopra lo zero, si ha una perdita di memoria.

4 Ripetere lo stesso processo per "malloc" e "libero".