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 3 e 18 (in 15 versioni)
Versione 3 del 29/06/2007 11.15.15
Dimensione: 2026
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:
= 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.

Ulteriori risorse


CategoryProgrammazione