Dimensione: 2026
Commento:
|
Dimensione: 2010
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 18: | Linea 18: |
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. E' possibile controllare tramite le seguenti istruzioni Debug. |
Indice:BRTableOfContents |
Cos'e' Valgrind
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.
Riguardo il debugging, il rilevatore di errori di memoria e' un tool molto pratico.
Rilevatore errori di memoria
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.
Cio' lo rende ideale per la ricerca automatica di segmentation faults, errori sul bus e falla generiche in memoria.
Assicurarsi di avere installati i pacchetti con i simboli del debug. E' possibile controllare tramite le seguenti istruzioni Debug.
Assicurarsi che Valgrid sia installato
sudo apt-get install valgrind
Rimuovere i log obsoleti:
rm valgrind.log.*
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>
- Il programma si avviera'. Compie qualsiasi azione necessaria per riprodurre il crash.
Creare un archivio contenente i file di log (ovviamente non e' necessario se il file e' singolo):
tar -zcf valgrind-logs-<program>.tar.gz valgrind.log.*
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]