| Fluxbox Documentation | ||
|---|---|---|
| Prev | ||
Il debugging è un'abilità che puoi imparare. Ci sono pochi buoni documenti che descrivono come ben segnalare i bugs. Leggili prima di iniziare tanto il bug non scapperà via e non tenterà di ucciderti. Piuttosto, siamo noi che vogliamo eliminare ogni bug e necessitiamo anche del tuo aiuto. Prepariamo bene la battaglia quindi. Due buoni documenti sono Bugzilla Bug Reporting HOWTO e How to Report Bugs Effectively di Simon Tathams.
A causa del numero e della natura di alcune patch non ufficiali, non le possiamo supportare tutte. Questo significa (per te) che devi controllare se Fluxbox va in crash anche senza le eventuali patch che puoi aver applicato. Se queste sono state applicate da mantainer di una qualche distribuzione, contattalo a riguardo.
Se debuggando necessiti di un aiuto maggiore rispetto a quello fornito da questa guida, puoi anche vedere se qualcuno del canale #fluxbox su irc.freenode.net è di aiuto. Siccome gli sviluppatori principali e un gruppo di persone qualificate sono spesso lì, ci sono buone possibilità che possano risolveree il problema.
Come ogni altra applicazionne, Fluxbox manda tutti i messaggi al terminale da cui è stato lanciato. Il problema è che in circostanze normali tutto l'output và ad un terminale di tipo testo. Cambia il comando con cui lanci Fluxbox in exec xterm o nell'emulatore di terminale che preferisci. Lancia X11 e fai partire Fluxbox nell'xterm e potrai facilmente vedere tutti i messaggi di output.
Noi vogliamo conoscere molte cose. Assicurati di conoscerle bene.
Il sistema operativo / la disribuzione e la sua versione.
La versione di Fluxbox, se usi CVS (o il tarball di sviluppo) e anche il giorno.
Quando è successo? Hai fatto qualcosa? Puoi riprodurre nuovamente l'evento?
Le tue impostazioni. Le puoi trovare in ~/.fluxbox/init
Se ti ritrovi ad avere un core dump con Fluxbox, fai come segue: vai sul canale #fluxbox su OPN e di a fluxgen come hai avuto il dump. Dagli tutte le informazioni che ti chiede. Inoltre ti chiederà probabilmente di fare come segue. E'un pò di lavoro ma chiunque possieda una minima esperienza con Unix può tranquillamente svolgerli. Oh, avrai bisogno del debugger GNU, che si chiama gdb.
Si, stai leggendo bene. Per diventare un vero debugger devi ricompilare Fluxbox con i simboli del debugger.
Ricompilare Fluxbox come solito e aggiungere la seguente opzione quando lanci il make:
$ CFLAGS=-Wall -g3 CXXFLAGS=-Wall -g3 make
Se utilizzi i sorgenti via RPM dal sito di Fluxbox o della tua distribuzione, puoi fare qualcosa del tipo:
$ su
# rpm -ivh fluxbox-0.1.11.1mdk.src.rpm
# cd /usr/src/RPM/SPECS
# env DEBUG=true rpm -ba fluxbox.spec
# rpm -Uvh --force /usr/src/RPM/RPMS/i686/fluxbox*
# exit
$ mkdir -p ~/src/fluxbox
$ cp -R /usr/src/RPM/BUILD/fluxbox* ~/src/fluxboxVai alla directory dii Fluxbox (così possiamo avere il core dump ne l posto giusto). La shell ha una apprezzabile caratteristica che disabilita i core-files, così dobbiamo essere sicuri di averla abilitata così:
$ ulimit -c unlimited
Lancia X11 e comincia il debug. Fai qualsiasi cosa per avere il core dump. Cominciamo quindi:
$ gdb fluxbox core
Digitando questi comandi in gdb (La prima parte è il prompt di gdb, non scriverla :)):
(gdb) where
Ora otterrai una gran quantità di output. Fluxgen necessita di tutto quello che comincia con #.
Copialo in una e-mmail e spediscilo a Fluxgen ad allega inoltre anche i quattro files di configurazione contenuti in ~/.fluxbox/.
Per favore, non rimuovere il core e la directory che contiene i sorgenti. Fluxgen potrebbe chiederti qualche altra informazione per cui ne puoi avere ancora bisogno. Per favore non inviare il core file a Fluxgen se non ti è stato specificatamente richiesto - in quanto questo file è specifico per la tua macchina e molto probabilmente non è necessario e tende ad avere dimensioni enormi.