[Ubuntu Wiki] Update of "Chromium/Debugging" by uusijani
Ubuntu Wiki
noreply at ubuntu.com
Mon May 21 16:01:58 UTC 2012
Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Ubuntu Wiki" for change notification.
The "Chromium/Debugging" page has been changed by uusijani:
http://wiki.ubuntu.com/Chromium/Debugging?action=diff&rev1=9&rev2=10
Comment:
restructuring, language
## page was renamed from Chromium/Debug
+ If Chromium crashes and you want to file a bug upstream, use their [[http://code.google.com/p/chromium/issues/entry?template=Defect%20on%20Linux|linux template]]. Always include the output from the following command:
- When you want to file a bug, it should be filed '''upstream''' using this '''[[http://code.google.com/p/chromium/issues/entry?template=Defect%20on%20Linux|linux template]]'''.
- Please always include the result of the following command:
- {{{
- dpkg -l | grep chromium-}}}
-
- = Debugging Chromium crashes =
-
- If chromium crashes and if you want to file a '''[[http://code.google.com/p/chromium/issues/entry?template=Defect%20on%20Linux|bug upstream]]''', you need to provide a proper backtrace for your crash.
-
- It could be accomplished using '''gdb''' and some debug packages.
-
- If you know nothing about gdb, the generic instructions are available here: [[https://wiki.ubuntu.com/Backtrace|Backtraces with gdb]]
-
- The debug package for chromium is called '''chromium-browser-dbg''' (it's big, ~75MB). It could be installed and removed like any other packages.
-
- Note: you may need other debug packages if the backtrace shows lines like "#5 0x083949e0 in ?? ()".
- In that case, you need the corresponding -dbg or -dbgsym packages.
- Instructions about those are available in [[https://wiki.ubuntu.com/DebuggingProgramCrash|DebuggingProgramCrash]]
-
- Once done, open a terminal and proceed as follow:
{{{
+ $ dpkg -l | grep chromium-
+ }}}
+
+ You'll need to provide a [[https://wiki.ubuntu.com/Backtrace|backtrace]]. It can be produced using gdb, with the help of debugging symbols.
+
+ == Getting a backtrace ==
+ Debugging symbols come in packages that can be [[InstallingSoftware|installed just 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
+ $ 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:
+ Do what you need to do to trigger the crash, then:
{{{
(gdb) backtrace
@@ -37, +27 @@
(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:
- Check the file '''gdb-chromium.txt''' to see if it contains symbols (as few "?? ()" as possible).
- If not, please locate and install the missing debug package(s) and retry.
- Note: ''ldd /usr/lib/chromium-browser/chromium-browser'' could give you a clue of which libs are loaded, and http://packages.ubuntu.com/ could tell you in which package they live.
+ {{{
+ $ ldd /usr/lib/chromium-browser/chromium-browser
+ }}}
- Once you feel it's good enough, you may attach the file '''gdb-chromium.txt''' to your bug report.
+ Then look for corresponding -dbg or -dbgsym packages in the repositories.
- 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 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
+ == 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 ==
+ * [[http://code.google.com/p/chromium/wiki/LinuxDebugging|Upstream debugging instructions]]
+
----
CategoryDebugging
More information about the Ubuntu-bugsquad
mailing list