Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Programmazione/Debug"
Differenze tra le versioni 3 e 13 (in 10 versioni)
Versione 3 del 29/06/2007 11.41.50
Dimensione: 4042
Commento:
Versione 13 del 11/09/2007 09.52.33
Dimensione: 3850
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 4: Linea 4:
||<tablestyle="float:right; font-size: 0.9em; width:30%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice:'''[[BR]][[TableOfContents]]|| ||<tablestyle="float:right; font-size: 0.9em; width:35%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice:'''[[BR]][[TableOfContents]]||
Linea 6: Linea 6:
= Introduzione =
Linea 7: Linea 8:
Questo documento descrive come installare pacchetti di debug in Ubuntu. Questo documento descrive come installare pacchetti per eseguire le operazioni di ''debug'' in '''Ubuntu'''.
Linea 9: Linea 10:
= Preparativi =
Linea 10: Linea 12:
== Edgy Eft 6.10 == È 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 [:EditorDiTesto:editor di testo] con i [:Sudo:privilegi di amministrazione] e aggiungere le righe adatte alla versione in uso:
Linea 12: Linea 14:
Usare questa sezione solo se si possiede Ubuntu Edgy 6.10. Anche in caso di versioni precedenti seguire quanto segue:

1. Aggiungere la seguente linea in `/etc/apt/sources.list`:
 {{{deb http://people.ubuntu.com/~pitti/ddebs edgy main universe
 * '''Ubuntu 7.10''' «'''Gutsy Gibbon'''»: {{{
deb http://people.ubuntu.com/~pitti/ddebs gutsy main universe
Linea 18: Linea 18:
2. Importare la chiave pubblica di Martin sul sistema:
 {{{
 * '''Ubuntu 7.04''' «'''Feisty Fawn'''»: {{{
deb http://people.ubuntu.com/~pitti/ddebs feisty 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:
{{{
Linea 23: Linea 31:
3. Quindi digitare
 {{{
Infine aggiornare la lista dei pacchetti con il seguente comando:
{{{
Linea 27: Linea 35:
per aggiornare la lista dei pacchetti.
Linea 29: Linea 36:
4. I simboli dei pacchetti del debug hanno allegato il suffisso '-dbgsym', cosi' per installare i simboli di debug per il pacchetto 'yelp', digitare:
 {{{
= 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:
{{{
Linea 34: Linea 43:
 a. Adesso e' stata realizzata una ["Backtrace"].
 a. Eseguire ["Valgrind"], se il programma crasha causa "Segmentation fault" o "Bus error".
 a. A scelta, potrebbe venir chiesta una ["Strace"].
 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.
Linea 39: Linea 48:
=== Referenze === = Versioni di Ubuntu precedenti =
Linea 41: Linea 50:
 * Annunci: https://lists.ubuntu.com/archives/ubuntu-devel-announce/2006-September/000195.html Questa sezione riguarda le versioni che precedono '''Ubuntu 6.10''' «'''Edgy Eft'''».
Linea 43: Linea 52:
||<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 44: Linea 54:
== Feisty Fawn 7.04 == Controllare se il pacchetto è disponibile per la versione di debugging. Generalmente, i pacchetti di debug saranno identificati con il suffisso `-dbg`.
Linea 46: Linea 56:
Questo passo descrive quanto detto in precedenza per Edgy anche per Feisty, aggiungere la seguente linea al file `/etc/apt/sources.list`: Se non è disponibile, è possibile crearne uno in questo modo:
Linea 48: Linea 58:
 {{{deb http://people.ubuntu.com/~pitti/ddebs feisty main universe
}}}

== Gutsy Gibbon 7.10 ==

Come gia' esposto in precedenza, aggiungere la seguente linea in '/etc/apt/sources.list' :
 {{{deb http://people.ubuntu.com/~pitti/ddebs gutsy main universe
}}}

== Versioni di Ubuntu precedenti ==

Questa sezione riguarda le versioni che precedono Edgy 6.10.

 1. Contrllare se il pacchetto e' disponibile per la versione di debbugging. Generalmente, i pacchetti di debug saranno identificati con il suffisso `-dbg`
 1. Se non e' disponibile, e' possibile crearne uno in questo modo:

Da tenere a mente: se si vuole creare un pacchetto, assicurarsi di avere la linea deb-src in /etc/apt/sources.list

  a. Installare lo script seguente:
  {{{
installare lo script seguente: {{{
Linea 71: Linea 62:
  a. Find out to which package your program belongs to:
  {{{
scoprire quale pacchetto appartiene al proprio programma: {{{
Linea 76: Linea 66:
  a. Install the build-time dependencies for the package:
  
{{{
installare le dipendenze:{{{
Linea 80: Linea 69:
  a. Build .debs for debugging:
  
{{{

creare
`.deb` per il debugging:{{{
Linea 85: Linea 74:
  a. Install the needed .debs (they will be in the current working directory if the build succeeded):
  {{{

installare i necessari `.deb` (si troveranno nella cartella di lavoro, in caso di successo nella creazione): {{{
Linea 90: Linea 79:

* Most packages support the build of debugging version in this way. If this process doesn't work for a package, please open a bug against it.


== The Xorg server ==
The X server will by default trap its own crashes and dump a stack trace in /var/log/Xorg.0.log. However, this stack trace is modified by the signal handler itself. To get a "normal" crash, which will trigger a core dump (and ''apport'' reporting), add this to your /etc/X11/xorg.conf:
{{{
= 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: {{{
Linea 103: Linea 87:
== Info for the BugSquad == = Ulteriori risorse =
Linea 105: Linea 89:
If you're trying to `apport-retrace` a crash report from a bug that didn't happen on the same Ubuntu release as the one you're running, do the following:  * [https://wiki.ubuntu.com/DebuggingProgramCrash Documento originale]
Linea 107: Linea 91:
Say that you're running `feisty` and the crash happened on `edgy`:

 0. This will create a minimal `edgy` system. {{{
sudo mkdir -p /chroots/edgy
sudo debootstrap edgy /chroots/edgy/}}}
 0. Now you change into this minimal `edgy` system. {{{
sudo chroot /chroot/edgy}}}
 0. edit `/etc/apt/sources/list` and all the repositories you need, especially Martin's ddeb repository.
 0. {{{
apt-get update; apt-get install gdb apport}}}
 0. use `apport-retrace` as you're used to.
 * Annunci: https://lists.ubuntu.com/archives/ubuntu-devel-announce/2006-September/000195.html
Linea 120: Linea 93:
CategoryPrgorammazione CategoryDaRevisionare

BR

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 [:EditorDiTesto:editor di testo] con i [: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 7.04 «Feisty Fawn»:

    deb http://people.ubuntu.com/~pitti/ddebs feisty 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
  1. Adesso è stato realizzato un [wiki:Ubuntu/Backtrace Backtrace];
  2. eseguire [:Programmazione/Valgrind:Valgrind], se il programma crasha a causa di Segmentation fault o Bus error;

  3. 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».

Immagine(Icone/Piccole/note.png,,center)

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


CategoryPrgorammazione CategoryDaRevisionare