Dimensione: 2013
Commento:
|
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: |
= Cos'e' Valgrind = | = Introduzione = |
Linea 8: | Linea 7: |
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 9: |
Riguardo il debugging, il rilevatore di errori di memoria e' un tool molto pratico. | * 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 14: | 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 di assumere un determinato valore, memoria e' fallata, o 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 16: | 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 18: | Linea 21: |
Assicurarsi di avere installati i pacchetti con i simboli del debug. E' possibile controllare tramite le seguenti istruzioni [:Debug]. | Assicurarsi di avere installati i pacchetti con i simboli del debug. È possibile controllare tramite le seguenti istruzioni [:Debug]. |
Linea 20: | Linea 23: |
1. Assicurarsi che Valgrid sia installato {{{ | 0. Installare Valgrind: {{{ |
Linea 23: | Linea 26: |
1. Rimuovere i log obsoleti: {{{ | 0. Rimuovere i log obsoleti: {{{ |
Linea 26: | Linea 30: |
1. Avviare il programma sotto il controllo di `memcheck`: {{{ | 0. Avviare il programma sotto il controllo di '''memcheck''': {{{ |
Linea 29: | Linea 34: |
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): {{{ |
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 33: | 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. |
Linea 38: | Linea 46: |
* [https://wiki.ubuntu.com/Valgrind Documento originale] ---------- |
* [https://wiki.ubuntu.com/Valgrind Documento originale] ---- |
Indice:BRTableOfContents |
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].
Installare Valgrind:
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 avvierà. Compie qualsiasi azione necessaria per riprodurre il crash.
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.*
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]