March 3
I programmatori che lavorano nel linguaggio di programmazione C sono in grado di allocare dinamicamente la memoria. Quando la memoria viene allocata, dovrebbe essere deallocato successiva per il computer sa di poter utilizzare tale memoria per altri scopi. Un programma che non deallocare tutta la sua memoria ha una perdita di memoria. Le perdite di memoria possono essere il risultato di programmazione sciatta o un bug difficile da trovare, ma in ogni modo gli strumenti esistono per aiutare eliminare le perdite di memoria dal codice.
Lo strumento ccmalloc può essere collegato ad un programma per monitorare come si utilizza la memoria. Vi dirà la quantità di memoria è stato assegnato e poi rilascia, aiutandovi a trovare le perdite, ed è anche riferirà su eventuali posizioni di memoria sovrascritti, memoria non inizializzata, tenta di scrivere i dati nella memoria deallocato o memoria che è stata deallocata più volte. Utilizzando ccmalloc in combinazione con un buon debugger renderanno le vostre risorse di memoria sono dotati di codice molto più efficiente. Il nome è un riferimento a malloc, la funzione C utilizzato per l'allocazione di memoria.
NJAMD, che sta per "non solo un altro debugger malloc," assegna un grande blocco di dati e poi metes fuori come il programma analizzato ne ha bisogno. Questo permette NJAMD di analizzare esattamente ciò che è successo a memoria allocata dopo che il programma ha terminato l'esecuzione. Questo strumento ha una serie di opzioni che permettono il codificatore di scegliere come strettamente NJAMD cercherà perdite di memoria. Ricerche più esauriente prenderanno molto più tempo.
Lo strumento di debug mpatrol crea una matrice di dimensioni fisse e quindi alloca la memoria per il programma da tale matrice. Le azioni strumento mpatrol molte caratteristiche con altri strumenti di rilevazione di perdite di memoria, ma può anche essere usato per vedere quanto bene un programma viene eseguito con risorse limitate specificando una parte relativamente piccola array per il programma da utilizzare. Anche per un programma senza perdite di memoria, questo strumento può testare l'efficienza opera.
Non tutti gli strumenti di perdita di memoria sono complicate. CMemLeak, per esempio, traccia solo poche chiamate di funzione, ma evita alcune delle spese generali mentale con imparare a usare strumenti di rilevazione di perdite di memoria a tutti gli effetti. Per le persone che scrivono programmi più brevi, o che il codice meno spesso, uno strumento semplice che ottiene il lavoro fatto può essere una scelta migliore.