Valgrind

Da Andreabont's Wiki.

Valgrind è un tool da linea di comando per l'analisi di eseguibili, utile per la ricerca di errori di programmazione e benchmark. A questo link è possibile vedere la lista dei tool disponibili.

Analisi

Gestione della memoria

L'analisi della gestione della memoria permette di trovare eventuali memory leak, variabili non inizializzate e puntatori non validi...

valgrind --tool=memcheck <eseguibile>

Accesso alla memoria multi-thread

Questo tool permette di cercare se sono presenti degli accessi concorrenti a delle zone di memoria non adeguatamente protette.

valgrind --tool=helgrind <eseguibile>

Profilazione

Questi tool permettono di profilare l'esecuzione del programma.

Chiamate

Questo tool permette di analizzare il flusso di chiamate a funzione:

valgrind --tool=callgrind <eseguibile>

E analizzare il file generato con:

kcachegrind <file>

Memoria

Questo tool permette di analizzare l'utilizzo dello heap:

valgrind --tool=massif <eseguibile>

E analizzare il file generato con:

massif-visualizer <file>