Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Programmazione/Valgrind"
Differenze tra le versioni 17 e 18
Versione 17 del 03/05/2008 10.52.39
Dimensione: 2115
Autore: NaldiniPaolo
Commento: Indice
Versione 18 del 14/03/2011 12.50.48
Dimensione: 2118
Autore: localhost
Commento: converted to 1.6 markup
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 4: Linea 4:
[[BR]]
[[Indice()]]
<<BR>>
<<Indice>>
Linea 21: Linea 21:
Prima di procedere assicurarsi di avere installato i pacchetti con i simboli del [:Programmazione/Debug:debug]. Prima di procedere assicurarsi di avere installato i pacchetti con i simboli del [[Programmazione/Debug|debug]].
Linea 25: Linea 25:
Per installare il programma è sufficiente digitare [:AmministrazioneSistema/InstallareProgrammi:installare il pacchetto] ''valgrind''. Per installare il programma è sufficiente digitare [[AmministrazioneSistema/InstallareProgrammi|installare il pacchetto]] ''valgrind''.
Linea 39: Linea 39:
Una volta avviato il programma si potrà compiere qualsiasi azione necessaria per riprodurre il ''crash'', dunque non resterà che compattare i file di log in un archivio [:AmministrazioneSistema/FormatiDiCompressione:compresso] con il seguente comando: Una volta avviato il programma si potrà compiere qualsiasi azione necessaria per riprodurre il ''crash'', dunque non resterà che compattare i file di log in un archivio [[AmministrazioneSistema/FormatiDiCompressione|compresso]] con il seguente comando:
Linea 48: Linea 48:
 * [https://wiki.ubuntu.com/Valgrind Documento originale]  * [[https://wiki.ubuntu.com/Valgrind|Documento originale]]


Introduzione

Valgrind è una suite costituita da strumenti per il debugging e da programmi di profiling. Ci sono tre strumenti:

  • un rilevatore di errori di memoria: ideale per la ricerca automatica dei segmentation faults, degli errori sul bus e nella memoria, traccia l'uso di tutti i singoli bit nell'ambito dell'esecuzione di un programma e segnala le anomalie; il programma è in grado di scorgere se la memoria è usata prima di assumere un determinato valore, se fallata o usata due volte;

  • un time profiler;

  • uno space profiler.

Riguardo il debugging, il rilevatore di errori di memoria è uno strumento molto pratico.

Preparativi

Prima di procedere assicurarsi di avere installato i pacchetti con i simboli del debug.

Installazione

Per installare il programma è sufficiente digitare installare il pacchetto valgrind.

Terminata l'installazione non resta che rimuovere i log obsoleti. Digitare il seguente comando:

rm valgrind.log.*

Avvio del programma e preparazione del materiale per il bug report

Per avviare il programma sotto il controllo di memcheck digitare il seguente comando:

G_SLICE=always-malloc G_DEBUG=gc-friendly  valgrind -v --tool=memcheck --leak-check=full --num-callers=40 --log-file=valgrind.log <program> <arguments>

Una volta avviato il programma si potrà compiere qualsiasi azione necessaria per riprodurre il crash, dunque non resterà che compattare i file di log in un archivio compresso con il seguente comando:

tar -zcf valgrind-logs-<program>.tar.gz valgrind.log.*

Ora sarà possibile allegare nel bug report l'output completo di valgrind, contenuto nel file valgrind-logs-<program>.tar.gz.

Ulteriori risorse


CategoryProgrammazione