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 6 (in 4 versioni)
Versione 2 del 29/06/2007 11.00.59
Dimensione: 1884
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 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 7:
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:

 * 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.
Linea 12: Linea 17:
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. 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 14: Linea 19:
Cio' lo rende ideale per la ricerca automatica di segmentation faults, errori sul bus e falla generiche in memoria. Ciò lo rende ideale per la ricerca automatica di ''segmentation faults'', errori sul bus e falle generiche in memoria.
Linea 16: Linea 21:
Assicurarsi di avere installati i pacchetti con i simboli del debug. E' possibile controllare tramite le seguenti istruzioni DebuggingProgramCrash. Assicurarsi di avere installati i pacchetti con i simboli del debug. È possibile controllare tramite le seguenti istruzioni [:Debug].
Linea 18: Linea 23:
 1. Assicurarsi che Valgrid sia installato {{{  0. Installare Valgrind: {{{
Linea 21: Linea 26:
 1. Rimuovere i log obsoleti: {{{
0. Rimuovere i log obsoleti: {{{
Linea 24: Linea 30:
 1. Avviare il programma sotto il controllo di `memcheck`: {{{  
 0
. Avviare il programma sotto il controllo di '''memcheck''': {{{
Linea 27: Linea 34:
 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): {{{
   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. Allegare l'output completo di Valgrind, contenuto in valgrind-logs-<program>.tar.gz, nel 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