|
Dimensione: 1985
Commento: accentate; piccole modifiche
|
Dimensione: 2157
Commento: sistemate sezioni
|
| Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
| Linea 9: | Linea 9: |
| * un rilevatore di errori di memoria; * un ''time profiler''; * uno ''space profiler''. |
* 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'''. |
| Linea 15: | Linea 17: |
| = Rilevatore errori di memoria = | = Preparativi = |
| Linea 17: | Linea 19: |
| Il più importante di questi è il rilevatore di errori di memoria che traccia l'uso di tutti i singoli bit all'interno di un programma e segnala le anomalie. '''Valgrind''' è in grado di scorgere se la memoria è usata prima di assumere un determinato valore, se fallata, o usata due volte. | Prima di procedere assicurarsi di avere installato i pacchetti con i simboli del [:Debug:debug]. |
| Linea 19: | Linea 21: |
| Ciò lo rende ideale per la ricerca automatica di ''segmentation faults'', errori sul bus e falle generiche in memoria. | = Installazione = |
| Linea 21: | Linea 23: |
| Assicurarsi di avere installati i pacchetti con i simboli del debug. È possibile controllare tramite le seguenti istruzioni [:Debug]. | Per installare il programma è sufficiente digitare [:InstallareProgrammi:installare il pacchetto] ''valgrind''. |
| Linea 23: | Linea 25: |
| 0. Installare Valgrind: {{{ sudo apt-get install valgrind |
Terminata l'installazione non resta che rimuovere i log obsoleti. Digitare il seguente comando: {{{ rm valgrind.log.* |
| Linea 27: | Linea 30: |
| 0. Rimuovere i log obsoleti: {{{ rm valgrind.log.* }}} 0. Avviare il programma sotto il controllo di '''memcheck''': {{{ |
= Avvio del programma e preparazione del materiale per il bug report = Per avviare il programma sotto il controllo di '''memcheck''' digitare il seguente comando: {{{ |
| Linea 35: | Linea 37: |
| 0. Il programma si avvierà. Compie qualsiasi azione necessaria per riprodurre il ''crash''. 0. Creare un archivio contenente i file di log (ovviamente non e' necessario se il file è singolo): {{{ |
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 [:FormatiDiCompressione:compresso] con il seguente comando: {{{ |
| Linea 41: | Linea 42: |
| 0. Allegare l'output completo di Valgrind, contenuto in valgrind-logs-<program>.tar.gz, nel bug report. | Ora sarà possibile allegare nel ''bug report'' l'output completo di '''valgrind''', contenuto nel file `valgrind-logs-<program>.tar.gz`. |
| Linea 43: | Linea 44: |
= Ulteriori informazioni = |
= Ulteriori risorse = |
Indice:BRTableOfContents |
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:debug].
Installazione
Per installare il programma è sufficiente digitare [:InstallareProgrammi: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 [:FormatiDiCompressione: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
[https://wiki.ubuntu.com/Valgrind Documento originale]
