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 1 e 11 (in 10 versioni)
Versione 1 del 29/06/2007 10.36.11
Dimensione: 1667
Commento:
Versione 11 del 04/09/2007 18.05.03
Dimensione: 2169
Commento: piccola correzione
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from MatLab
Linea 4: Linea 3:
[[BR]]
Linea 6: Linea 6:
Valgrind is a suite of tools for debugging and profiling programs. There are three tools: a memory error detector, a time profiler, and a space profiler. = Introduzione =
Linea 8: Linea 8:
For debugging purposes, the memory error detector is a handy tool. '''Valgrind''' è una suite costituita da strumenti per il ''debugging'' e da programmi di ''profiling''. Ci sono tre strumenti:
Linea 10: Linea 10:
= Memory error detection =  * 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 12:
The most important of these is the memory error detector, which tracks the usage of every single bit in a program, and warns if there's something suspicious. Valgrind can detect if memory is used before it has a value, memory is leaked, or memory is used twice.  * un '''time profiler''';
Linea 14: Linea 14:
This makes it ideal for tracking down segmentation faults, bus errors, and general memory leaks.  * uno '''space profiler'''.
Linea 16: Linea 16:
Please ensure you have packages with debug symbols installed. You can do this by following the instructions at DebuggingProgramCrash. Riguardo il ''debugging'', il rilevatore di errori di memoria è uno strumento molto pratico.
Linea 18: Linea 18:
 1. Make sure Valgrind is installed. {{{
sudo apt-get install valgrind
}}}
 1. Remove any old Valgrind logs: {{{
= 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:
{{{
Linea 24: Linea 30:
 1. Start the program under control of `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 37:
 1. The program will start. Perform any actions necessary to reproduce the crash
 1. Package up the log files (no need if there is only one): {{{
  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 31: Linea 42:
 1. Attach the complete output from Valgrind, contained in valgrind-logs-<program>.tar.gz, in your 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

BR

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


CategoryProgrammazione