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
  1. Adesso è stato realizzato un Backtrace;

  2. eseguire Valgrind, se il programma crasha a causa di Segmentation fault o Bus error;

  3. a scelta, potrebbe venir chiesta una 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


CategoryProgrammazione CategoryDaRevisionare