## page was renamed from Debug
#format wiki
#LANGUAGE it
<<BR>>
<<Indice>>

= 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 8.04''' «'''Hardy Heron'''»: {{{
deb http://people.ubuntu.com/~pitti/ddebs hardy 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
}}}

 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.


##= Versioni di Ubuntu precedenti =

##Questa sezione riguarda le versioni che precedono '''Ubuntu 6.10''' «'''Edgy Eft'''».

##||<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`''||

##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
----
CategoryProgrammazione CategoryDaRevisionare