Debugging
Size: 2102
Comment: typo: just +like any
|
← Revision 12 as of 2012-07-11 10:33:46 ⇥
Size: 2135
Comment: Added Debugging page header
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
<<Include(Debugging/Header)>> |
This page is part of the debugging series — pages with debugging details for a variety of Ubuntu packages. |
If Chromium crashes and you want to file a bug upstream, use their linux template. Always include the output from the following command:
$ dpkg -l | grep chromium-
You'll need to provide a backtrace. It can be produced using gdb, with the help of debugging symbols.
Getting a backtrace
Debugging symbols come in packages that can be installed just like any other software package in Ubuntu. The debugging symbols package for Chromium is called chromium-browser-dbg. Once you've installed it, open a terminal and proceed as follows:
$ chromium-browser --debug 2>&1 | tee gdb-chromium.txt (gdb) handle SIG33 pass nostop noprint (gdb) set pagination 0 (gdb) run <arguments, if any>
Do what you need to do to trigger the crash, then:
(gdb) backtrace (gdb) thread apply all backtrace (gdb) quit
If the backtrace shows lots of lines with question marks (such as "#5 0x083949e0 in ?? ()"), you're likely to need additional debugging symbols packages. To find out which libraries Chromium is loading, try:
$ ldd /usr/lib/chromium-browser/chromium-browser
Then look for corresponding -dbg or -dbgsym packages in the repositories.
Debugging child processes
Since Chromium normally spawns several processes (such as the sandbox and renderers), the backtrace from the browser process may not be useful (unless it is the main process that crashes). For catching backtraces from Chromium's child processes, you should run Chromium with --single-process:
$ chromium-browser --debug --single-process 2>&1 | tee gdb-chromium.txt
Then proceed as above with gdb.
Once you feel your backtrace file (gdb-chromium.txt) is sufficient, attach it to your bug report.
External links
Chromium/Debugging (last edited 2012-07-11 10:33:46 by mitya57)