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 6 (in 5 versioni)
Versione 1 del 29/06/2007 10.36.11
Dimensione: 1667
Commento:
Versione 6 del 29/06/2007 13.32.36
Dimensione: 1985
Commento: accentate; piccole modifiche
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from MatLab
Linea 6: Linea 5:
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 7:
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 9:
= Memory error detection =  * un rilevatore di errori di memoria;
 * un ''time profiler'';
 * uno ''space profiler''.
Linea 12: Linea 13:
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. Riguardo il debugging, il rilevatore di errori di memoria è uno strumento molto pratico.
Linea 14: Linea 15:
This makes it ideal for tracking down segmentation faults, bus errors, and general memory leaks. = Rilevatore errori di memoria =
Linea 16: Linea 17:
Please ensure you have packages with debug symbols installed. You can do this by following the instructions at DebuggingProgramCrash. 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.
Linea 18: Linea 19:
 1. Make sure Valgrind is installed. {{{ Ciò lo rende ideale per la ricerca automatica di ''segmentation faults'', errori sul bus e falle generiche in memoria.

Assicurarsi di avere installati i pacchetti con i simboli del debug. È possibile controllare tramite le seguenti istruzioni [:Debug].

 0. Installare Valgrind: {{{
Linea 21: Linea 26:
 1. Remove any old Valgrind logs: {{{
0. Rimuovere i log obsoleti: {{{
Linea 24: Linea 30:
 1. Start the program under control of `memcheck`: {{{  
 0
. Avviare il programma sotto il controllo di '''memcheck''': {{{
Linea 27: Linea 34:
 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): {{{
   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): {{{
Linea 31: Linea 40:
 1. Attach the complete output from Valgrind, contained in valgrind-logs-<program>.tar.gz, in your bug report.    0. Allegare l'output completo di Valgrind, contenuto in valgrind-logs-<program>.tar.gz, nel bug report.


= Ulteriori informazioni =

 * [https://wiki.ubuntu.com/Valgrind Documento originale]
----
CategoryNuoviDocumenti

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;
  • un time profiler;

  • uno space profiler.

Riguardo il debugging, il rilevatore di errori di memoria è uno strumento molto pratico.

Rilevatore errori di memoria

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.

Ciò lo rende ideale per la ricerca automatica di segmentation faults, errori sul bus e falle generiche in memoria.

Assicurarsi di avere installati i pacchetti con i simboli del debug. È possibile controllare tramite le seguenti istruzioni [:Debug].

  1. Installare Valgrind:

    sudo apt-get install valgrind
  2. Rimuovere i log obsoleti:

    rm valgrind.log.*
  3. Avviare il programma sotto il controllo di memcheck:

    G_SLICE=always-malloc G_DEBUG=gc-friendly  valgrind -v --tool=memcheck --leak-check=full --num-callers=40 --log-file=valgrind.log <program> <arguments>
  4. Il programma si avvierà. Compie qualsiasi azione necessaria per riprodurre il crash.

  5. Creare un archivio contenente i file di log (ovviamente non e' necessario se il file è singolo):

    tar -zcf valgrind-logs-<program>.tar.gz valgrind.log.*
  6. Allegare l'output completo di Valgrind, contenuto in valgrind-logs-<program>.tar.gz, nel bug report.

Ulteriori informazioni


CategoryNuoviDocumenti