Hvordan å oppdage en minnelekkasje i Windows med C ++

Minnelekkasjer skje når et visst program kontinuerlig tildeler minne uten å frigjøre den, samler i ressursbruk til en merkbar grad. Når du åpner Oppgavebehandling på en datamaskin og se et program minnebruken kontinuerlig klatring mens inaktiv, har det programmet sannsynlig en minnelekkasje. I C ++, oppstår minnetildeling i "GlobalAlloc" eller "malloc" funksjoner. Programmer skrevet i C ++ bruker "GlobalFree" eller "gratis" funksjoner for å frigjøre minne.

Bruksanvisning

1 Åpne C ++ kode i et utviklingsmiljø.

2 Skann hele koden for "GlobalAlloc." Tell hvor mange ganger du kommer over det. Dette representerer antall ganger programmet tildeler minne.

3 Skann koden på nytt for "GlobalFree" og telle antall forekomster. Trekk fra mengden "GlobalFree" samtaler fra "GlobalAlloc" samtaler. Hvis nummeret kommer ut over null, har du en minnelekkasje.

4 Gjenta den samme prosessen for "malloc" og "gratis".