TomCallaway/Chromium Debug

= Chromium Debugging =

Filing Bugs Upstream
When you want to report a bug with Chromium, it should be filed upstream using this template. Please be sure that you include the version of the Chromium package which is installed. You can determine that by running:

rpm -q chromium

Debugging Chromium crashes
If chromium crashes and if you want to file a bug upstream, you need to provide a proper backtrace for your crash. You can generate a backtrace with gdb.

You can usually accomplish this by following these steps:


 * 1) Be sure that you have the chromium-debuginfo package installed. If you have enabled spot's chromium repo, this is as easy as running:

debuginfo-install chromium

Be warned, the chromium-debuginfo package (and its dependencies) are very large (+100MB). You can remove the debuginfo packages once you're done debugging the issue.


 * 1) Be sure that gdb is installed, if not, run:

yum install gdb


 * 1) Now, 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 

Now, in the chromium window that opens up, do what you need to do to trigger the crash, then:

(gdb) backtrace (gdb) thread apply all backtrace (gdb) quit

Check the file gdb-chromium.txt to see if it contains symbols (as few "?? " as possible). If not, please locate and install the missing debuginfo package(s) and retry.

Once you feel it's good enough, you may attach the file gdb-chromium.txt to your bug report.

Note: since chromium is multi-process (it spawns several processes, such as the sandbox and all renderers), the stack may be useless, depending on where the crash occurs. You can then try running chromium with --single-process (after --debug). If it is still not enough, you can try inferring from the upstream chrome debugging tips: http://code.google.com/p/chromium/wiki/LinuxDebugging