Introduzione
Questo documento descrive come installare pacchetti per eseguire le operazioni di debug in Ubuntu.
Preparativi
È 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:
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
Per importare la chiave [:Sicurezza/GnuPG: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 [wiki:Ubuntu/Backtrace Backtrace];
eseguire [:Programmazione/Valgrind:Valgrind], se il programma crasha a causa di Segmentation fault o Bus error;
- a scelta, potrebbe venir chiesta una wiki:Ubuntu/Strace.
Versioni di Ubuntu precedenti
Questa sezione riguarda le versioni che precedono Ubuntu 6.10 «Edgy Eft».
Se si vuole creare un pacchetto, assicurarsi di avere la linea deb-src in /etc/apt/sources.list |
Controllare se il pacchetto è disponibile per la versione di debugging. Generalmente, i pacchetti di debug saranno identificati con il suffisso -dbg.
Se non è disponibile, è possibile crearne uno in questo modo:
installare lo script seguente:
sudo apt-get install devscripts fakeroot
scoprire quale pacchetto appartiene al proprio programma:
dpkg --search <program>
installare le dipendenze:
sudo apt-get build-dep <package>
creare .deb per il debugging:
export DEB_BUILD_OPTIONS="debug nostrip noopt" fakeroot apt-get source -b <package>
installare i necessari .deb (si troveranno nella cartella di lavoro, in caso di successo nella creazione):
sudo debi <package>*.changes
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
Ulteriori risorse
[https://wiki.ubuntu.com/DebuggingProgramCrash Documento originale]
Annunci: https://lists.ubuntu.com/archives/ubuntu-devel-announce/2006-September/000195.html