Dimensione: 3754
Commento:
|
← Versione 28 del 14/03/2011 12.54.55 ⇥
Dimensione: 3559
Commento: converted to 1.6 markup
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 4: | Linea 4: |
[[BR]] [[Indice()]] |
<<BR>> <<Indice>> |
Linea 13: | Linea 13: |
È necessario adeguare la propria [:SourcesList:lista] dei [:Repository:repository] in modo da poter installare gli strumenti necessari alle operazioni di debug. Aprire il file `/etc/apt/sources.list` con un [:Ufficio/EditorDiTesto:editor di testo] con i [:AmministrazioneSistema/Sudo:privilegi di amministrazione] e aggiungere le righe adatte alla versione in uso: | È necessario adeguare la propria [[SourcesList|lista]] dei [[Repository|repository]] in modo da poter installare gli strumenti necessari alle operazioni di debug. Aprire il file `/etc/apt/sources.list` con un [[Ufficio/EditorDiTesto|editor di testo]] con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] e aggiungere le righe adatte alla versione in uso: |
Linea 16: | Linea 16: |
deb http://people.ubuntu.com/~pitti/ddebs gutsy main universe }}} * '''Ubuntu 7.10''' «'''Gutsy Gibbon'''»: {{{ deb http://people.ubuntu.com/~pitti/ddebs gutsy main universe }}} * '''Ubuntu 6.10''' «'''Edgy Eft'''»: {{{ deb http://people.ubuntu.com/~pitti/ddebs edgy main universe |
deb http://people.ubuntu.com/~pitti/ddebs hardy main universe |
Linea 25: | Linea 19: |
Per importare la chiave [:Sicurezza/GnuPG:gpg] è sufficiente digitare il seguente comando in una finestra di terminale: | Per importare la chiave [[Sicurezza/GnuPg|gpg]] è sufficiente digitare il seguente comando in una finestra di terminale: |
Linea 42: | Linea 36: |
a. Adesso è stato realizzato un [wiki:Ubuntu/Backtrace Backtrace]; a. eseguire [:Programmazione/Valgrind:Valgrind], se il programma crasha a causa di ''Segmentation fault'' o ''Bus error''; a. a scelta, potrebbe venir chiesta una wiki:Ubuntu/Strace. |
a. Adesso è stato realizzato un [[Ubuntu:Backtrace|Backtrace]]; a. eseguire [[Programmazione/Valgrind|Valgrind]], se il programma crasha a causa di ''Segmentation fault'' o ''Bus error''; a. a scelta, potrebbe venir chiesta una Ubuntu:Strace. |
Linea 47: | Linea 41: |
= Versioni di Ubuntu precedenti = | ##= Versioni di Ubuntu precedenti = |
Linea 49: | Linea 43: |
Questa sezione riguarda le versioni che precedono '''Ubuntu 6.10''' «'''Edgy Eft'''». | ##Questa sezione riguarda le versioni che precedono '''Ubuntu 6.10''' «'''Edgy Eft'''». |
Linea 51: | Linea 45: |
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;"> ''Se si vuole creare un pacchetto, assicurarsi di avere la linea deb-src in `/etc/apt/sources.list`''|| | ##||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;"> ''Se si vuole creare un pacchetto, assicurarsi di avere la linea deb-src in `/etc/apt/sources.list`''|| |
Linea 53: | Linea 47: |
Controllare se il pacchetto è disponibile per la versione di debugging. Generalmente, i pacchetti di debug saranno identificati con il suffisso `-dbg`. | ##Controllare se il pacchetto è disponibile per la versione di debugging. Generalmente, i pacchetti di debug saranno identificati con il suffisso `-dbg`. |
Linea 55: | Linea 49: |
Se non è disponibile, è possibile crearne uno in questo modo: | ##Se non è disponibile, è possibile crearne uno in questo modo: |
Linea 57: | Linea 51: |
installare lo script seguente: {{{ sudo apt-get install devscripts fakeroot }}} |
##installare lo script seguente: {{{ ##sudo apt-get install devscripts fakeroot ##}}} |
Linea 61: | Linea 55: |
scoprire quale pacchetto appartiene al proprio programma: {{{ dpkg --search <program> }}} |
##scoprire quale pacchetto appartiene al proprio programma: {{{ ##dpkg --search <program> ##}}} |
Linea 65: | Linea 59: |
installare le dipendenze:{{{ sudo apt-get build-dep <package> }}} |
##installare le dipendenze:{{{ ##sudo apt-get build-dep <package> ##}}} |
Linea 69: | Linea 63: |
creare `.deb` per il debugging:{{{ export DEB_BUILD_OPTIONS="debug nostrip noopt" fakeroot apt-get source -b <package> }}} |
##creare `.deb` per il debugging:{{{ ##export DEB_BUILD_OPTIONS="debug nostrip noopt" ##fakeroot apt-get source -b <package> ##}}} |
Linea 74: | Linea 68: |
installare i necessari `.deb` (si troveranno nella cartella di lavoro, in caso di successo nella creazione): {{{ sudo debi <package>*.changes }}} |
##installare i necessari `.deb` (si troveranno nella cartella di lavoro, in caso di successo nella creazione): {{{ ##sudo debi <package>*.changes ##}}} |
Linea 85: | Linea 79: |
Linea 88: | Linea 81: |
* [https://wiki.ubuntu.com/DebuggingProgramCrash Documento originale] |
* [[https://wiki.ubuntu.com/DebuggingProgramCrash|Documento originale]] |
Introduzione
Questo documento descrive come installare pacchetti per eseguire le operazioni di debug in Ubuntu.
Preparativi
È necessario adeguare la propria lista dei repository in modo da poter installare gli strumenti necessari alle operazioni di debug. Aprire il file /etc/apt/sources.list con un editor di testo con i privilegi di amministrazione e aggiungere le righe adatte alla versione in uso:
Ubuntu 8.04 «Hardy Heron»:
deb http://people.ubuntu.com/~pitti/ddebs hardy main universe
Per importare la chiave gpg è sufficiente digitare il seguente comando in una finestra di terminale:
wget -q "http://keyserver.ubuntu.com:11371/pks/lookup?op=get&search=0x0DE7276D5E0577F2" -O- | sudo apt-key add -
Infine aggiornare la lista dei pacchetti con il seguente comando:
sudo apt-get update
Installare programmi per il debugging
Per installare i pacchetti dei simboli per il debug è utile ricordarsi che tali pacchetti hanno il suffisso «-dbgsym». Ad esempio, per installare i simboli di debug per il pacchetto yelp, occorre digitare il seguente comando:
sudo apt-get install yelp-dbgsym
Adesso è stato realizzato un Backtrace;
eseguire Valgrind, se il programma crasha a causa di Segmentation fault o Bus error;
a scelta, potrebbe venir chiesta una Strace.
Xorg server
Il server X server è in grado di gestire i crash creando uno "scarico" (dump) lasciando la traccia in /var/log/Xorg.0.log. Questa traccia è modificata dallo stesso segnale responsabile. Per ottenere un "normale" crash, cioè che crei un core dump (e un resoconto tramite apport), aggiungere nel file /etc/X11/xorg.conf la seguente opzione:
Section "ServerFlags" Option "NoTrapSignals" "true" EndSection