Speicherlecks passieren, wenn ein bestimmtes Programm ständig reserviert Speicher ohne befreien ihn , der sich in den Ressourcenverbrauch zu einem spürbaren Ausmaß . Wenn Sie den Task-Manager auf einem Computer öffnen und sehen, eines Programms Speicherauslastung kontinuierlich Klettern im Leerlauf , das Programm hat wahrscheinlich einen Speicherverlust. In C + +, Speicherzuweisung erfolgt in der " GlobalAlloc " oder " malloc "-Funktionen . Programme geschrieben in C + + verwenden " GlobalFree " oder "frei "-Funktionen , um Speicherplatz freizugeben . Anleitung
1
Öffnen Sie die C + +-Code in einer Entwicklungsumgebung .
2
Scannen Sie den gesamten Code für " GlobalAlloc . " Zählen Sie, wie oft Sie über sie kommen . Dies entspricht der Menge , wie oft das Programm Speicher zuweist .
3
Scannen Sie den Code wieder für " GlobalFree " und zählen die Anzahl der Instanzen . Ziehen Sie den Wert von " GlobalFree " Anrufe von " GlobalAlloc " nennt. Wenn die Zahl über Null herauskommt , haben Sie einen Speicherverlust.
4
Wiederholen Sie diesen Vorgang für " malloc " und "frei".