Scopri se il tuo programma ha una perdita di memoria . Eseguire il programma attraverso il debugger digitando: ' _CrtDumpMemoryLeaks ()'
La prima riga di codice vengono visualizzati come " perdite di memoria rilevato! " Se no , allora il programma non ha una perdita di memoria .
2
rintracciare la posizione della perdita di memoria . La terza linea di
' _CrtDumpMemoryLeaks ( ) '
usato con l'affermazione :
' # define _CRTDBG_MAP_ALLOC '
vi dirà il nome della file in cui è stato allocato l' memoria persa . È inoltre possibile utilizzare MFC per monitorare le allocazioni di memoria . In MFC la macro : .
' DEBUG_NEW '
può essere utilizzato per monitorare le perdite di memoria
3
Vai al file indicato . La codifica difettosi dovranno essere collocato . Ci sono diverse cause di una perdita di memoria ; utilizzo sbagliato di nuovo /delete , un'eliminazione fuori luogo , puntatori " perso" o un puntatore esce dallo scope . Controllare le linee di codice in cui è allocata la memoria e correggere eventuali problemi . Verificare se la memoria allocata in un loop viene rilasciato in ogni iterazione . Assicurati di puntatori non possono andare fuori del campo di applicazione prima che la memoria viene rilasciata . Controllare anche che i codici :
' malloc ' /' libero'
'nuovo' /' delete '
' new [] ' /delete [ ] '
sono usati correttamente
4
eseguire il programma tramite il debugger di nuovo digitando: . ' _CrtDumpMemoryLeaks ()'
per vedere se il problema si verifica ancora .
Programmazione © www.354353.com