Dimensione: 2026
Commento:
|
← Versione 18 del 14/03/2011 12.50.48 ⇥
Dimensione: 2118
Commento: converted to 1.6 markup
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 1: | Linea 1: |
## page was renamed from MatLab | ## page was renamed from Valgrind |
Linea 4: | Linea 4: |
||<tablestyle="float:right; font-size: 0.9em; width:30%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice:'''[[BR]][[TableOfContents]]|| | <<BR>> <<Indice>> |
Linea 6: | Linea 7: |
= Cos'e' Valgrind = | = Introduzione = |
Linea 8: | Linea 9: |
Valgrind e' una suite di tool per il debugging e programmi di profiling. Ci sono tre tool: un rilevatore di errori di memoria, a time profiler, and a space profiler. | '''Valgrind''' è una suite costituita da strumenti per il ''debugging'' e da programmi di ''profiling''. Ci sono tre strumenti: |
Linea 10: | Linea 11: |
Riguardo il debugging, il rilevatore di errori di memoria e' un tool molto pratico. | * 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; |
Linea 12: | Linea 13: |
= Rilevatore errori di memoria = | * un '''time profiler'''; |
Linea 14: | Linea 15: |
Il piu' importante di questi e' il rilevatore di errori di memoria, che traccia l'uso di tutti i singoli bit all'interno di un programma e in caso dovesse incontrare qualcosa di sospetto, lo segnala. Valgrind e' in grado di scorgere se la memoria e' usata prima di assumere un determinato valore, memoria e' fallata, o la memoria e' usata due volte. | * uno '''space profiler'''. |
Linea 16: | Linea 17: |
Cio' lo rende ideale per la ricerca automatica di segmentation faults, errori sul bus e falla generiche in memoria. | Riguardo il ''debugging'', il rilevatore di errori di memoria è uno strumento molto pratico. |
Linea 18: | Linea 19: |
Assicurarsi di avere installati i pacchetti con i simboli del debug. E' possibile controllare tramite le seguenti istruzioni DebuggingProgramCrash. | = Preparativi = |
Linea 20: | Linea 21: |
1. Assicurarsi che Valgrid sia installato {{{ sudo apt-get install valgrind }}} 1. Rimuovere i log obsoleti: {{{ |
Prima di procedere assicurarsi di avere installato i pacchetti con i simboli del [[Programmazione/Debug|debug]]. = Installazione = Per installare il programma è sufficiente digitare [[AmministrazioneSistema/InstallareProgrammi|installare il pacchetto]] ''valgrind''. Terminata l'installazione non resta che rimuovere i log obsoleti. Digitare il seguente comando: {{{ |
Linea 26: | Linea 31: |
1. 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 29: | Linea 38: |
1. Il programma si avviera'. Compie qualsiasi azione necessaria per riprodurre il crash. 1. Creare un archivio contenente i file di log (ovviamente non e' necessario se il file e' 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 [[AmministrazioneSistema/FormatiDiCompressione|compresso]] con il seguente comando: {{{ |
Linea 33: | Linea 43: |
1. 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 35: | Linea 46: |
= Ulteriori risorse = | |
Linea 36: | Linea 48: |
= Ulteriori informazioni = * [https://wiki.ubuntu.com/Valgrind Documento originale] ---------- CategoryNuoviDocumenti |
* [[https://wiki.ubuntu.com/Valgrind|Documento originale]] ---- CategoryProgrammazione |
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.