Dimensione: 4042
Commento:
|
Dimensione: 3854
Commento: sistemata in parte, da revisionare
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
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 38: | Linea 47: |
=== Referenze === * Annunci: https://lists.ubuntu.com/archives/ubuntu-devel-announce/2006-September/000195.html == Feisty Fawn 7.04 == Questo passo descrive quanto detto in precedenza per Edgy anche per Feisty, aggiungere la seguente linea al file `/etc/apt/sources.list`: {{{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 }}} |
|
Linea 59: | Linea 50: |
Questa sezione riguarda le versioni che precedono Edgy 6.10. | Questa sezione riguarda le versioni che precedono '''Ubuntu 6.10''' «'''Edgy Eft'''». |
Linea 61: | Linea 52: |
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: |
||<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 64: | Linea 54: |
Da tenere a mente: 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`. |
Linea 66: | Linea 56: |
a. Installare lo script seguente: {{{ |
Se non è disponibile, è possibile crearne uno in questo modo: 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 |
Indice:BRTableOfContents |
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
- 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