Debugging_it
⇤ ← Revision 1 as of 2012-10-31 19:50:54
Size: 2281
Comment: italian translation
|
Size: 2250
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
<<Include(Debugging/Header)>> |
Se in caso di un crash di Chromium si vuole riportare un bug upstream, utilizzare il crashe loro modello linux. Includere sempre il risultato del comando:
$ dpkg -l | grep chromium-
Sarà inoltre necessario fornire una backtrace. È possibile ottenerla utilizzando gdb con l'ausilio dei simboli di debug.
Ottenere una backtrace
I simboli di debug si installano tramite un apposito pacchetto, chiamato chromium-browser-dbg installabile come un normale pacchetto. Una volta installato, aprire il terminale ed eseguire:
$ chromium-browser --debug 2>&1 | tee gdb-chromium.txt (gdb) handle SIG33 pass nostop noprint (gdb) set pagination 0 (gdb) run <arguments, if any>
Eseguire le operazioni per riprodurre il crash, quindi:
(gdb) backtrace (gdb) thread apply all backtrace (gdb) quit
Nel caso la backtrace mostri molti punti interrogativi (tipo "#5 0x083949e0 in ?? ()"), significa che si necessitano ulteriori pacchetti con la simbologia di debugging. Per vedere quali librerie Chromium sta utilizzando, provare:
$ ldd /usr/lib/chromium-browser/chromium-browser
Quindi cercare il corrispondente pacchetto -dbg o -dbgsym, vedere come abilitarne i repository specifici.
Debugging dei processi figli
Siccome Chromium normalmente produce molti processi secondari (come le sandbox ed i renderers), la backtrace del processo browser potrebbe non essere utile ( a meno che non sia il processo principale a crashare). Per tracciare i processi figlio bisogna eseguire Chromium con --single-process:
$ chromium-browser --debug --single-process 2>&1 | tee gdb-chromium.txt
Quindi procedere come spiegato con gdb.
Una volta che si ritiene di avere una backtrace sufficiente (gdb-chromium.txt) allegarla al bug report.
Link esterni
Chromium/Debugging_it (last edited 2012-11-03 18:03:09 by dynamic-adsl-78-14-229-178)