Nwlapcug.com


Strumenti di perdita di memoria C

Strumenti di perdita di memoria C


I programmatori che lavorano in linguaggio di programmazione C sono in grado di allocazione dinamica della memoria. Quando la memoria è allocata, dovrebbe essere deallocato più tardi quindi il computer sa che la memoria può utilizzare per altri scopi. Un programma che non dealloca tutta la memoria ha una perdita di memoria. Perdite di memoria possono essere il risultato di programmazione sciatta o un bug di difficile da trovare, ma esistono entrambi strumenti di modo per contribuire ad eliminare perdite di memoria dal codice.

ccmalloc

Lo strumento di ccmalloc può essere collegato a un programma per monitorare l'utilizzo memoria. Ti dirà quanta memoria è stata allocata e quindi deallocata, aiutandovi a trovare perdite, e anche segnalerà indietro in qualsiasi posizioni di memoria venga sovrascritto, memoria non inizializzata, tenta di scrivere dati deallocato memoria o memoria che è stata rilasciata più volte. Utilizzando ccmalloc in combinazione con un buon debugger renderà il codice uso molto più efficiente delle risorse di memoria. Il nome è un riferimento a malloc, la funzione C utilizzata per l'allocazione di memoria.

NJAMD

NJAMD, che sta per "non solo un altro malloc debugger", alloca un blocco di dati e quindi metes esso fuori come il programma analizzato ne ha bisogno. In questo modo NJAMD analizzare esattamente cosa è successo alla memoria allocata al termine dell'esecuzione il programma. Questo strumento ha un certo numero di opzioni che permettono il coder di scegliere attentamente come NJAMD cercherà di perdite di memoria. Ricerche più esaustive richiederà molto più tempo.

mpatrol

Lo strumento di debug mpatrol crea una matrice di dimensione fissa e quindi alloca memoria per il programma da tale matrice. Lo strumento mpatrol condivide molte caratteristiche con altri strumenti di rilevazione di perdita di memoria, ma anche può essere utilizzato per vedere quanto bene un programma viene eseguito con risorse limitate specificando una matrice relativamente piccola per il programma da utilizzare. Anche per un programma senza perdite di memoria, questo strumento può testare quanto efficientemente funziona.

CMemLeak

Non tutti gli strumenti di perdita di memoria sono complicati. CMemLeak, ad esempio, solo tracce alcune chiamate di funzione, ma evita alcuni del sovraccarico mentale con imparare a utilizzare strumenti di rilevamento di perdite di memoria vera e propria. Per chi scrive programmi più brevi, o che il codice meno spesso, uno strumento più semplice che ottiene il lavoro fatto può essere una scelta migliore.