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 2 e 18 (in 16 versioni)
Versione 2 del 29/06/2007 11.00.59
Dimensione: 1884
Commento:
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 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:
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. = Introduzione =
Linea 8: Linea 9:
Riguardo il debugging, il rilevatore di errori di memoria e' un tool molto pratico. '''Valgrind''' è una suite costituita da strumenti per il ''debugging'' e da programmi di ''profiling''. Ci sono tre strumenti:
Linea 10: Linea 11:
= Rilevatore errori di memoria =  * 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:
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 can detect if memory is used before it has a value, memoria e' fallata, or la memoria e' usata due volte.  * un '''time profiler''';
Linea 14: Linea 15:
Cio' lo rende ideale per la ricerca automatica di segmentation faults, errori sul bus e falla generiche in memoria.  * uno '''space profiler'''.
Linea 16: Linea 17:
Assicurarsi di avere installati i pacchetti con i simboli del debug. E' possibile controllare tramite le seguenti istruzioni DebuggingProgramCrash. Riguardo il ''debugging'', il rilevatore di errori di memoria è uno strumento molto pratico.
Linea 18: Linea 19:
 1. Assicurarsi che Valgrid sia installato {{{
sudo apt-get install valgrind
}}}
 1. Rimuovere i log obsoleti: {{{
= Preparativi =

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 24: 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 27: Linea 38:
 1. Il programma si avviera'. Perform any actions necessary to reproduce the 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 31: 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`.

= Ulteriori risorse =

 * [[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.

Ulteriori risorse


CategoryProgrammazione