DebuggingProgramCrash

Differences between revisions 1 and 11 (spanning 10 versions)
Revision 1 as of 2005-05-28 20:36:44
Size: 1040
Editor: adsl-213-190-44-43
Comment: imported from the old wiki
Revision 11 as of 2006-05-01 19:21:08
Size: 990
Editor: ottawa-hs-64-26-167-206
Comment: Link to instructions about more tools.
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= DebuggingProgramCrash =
Line 5: Line 3:
  a. Install the development scripts: {{{
sudo apt-get install devscripts
}}}
Line 9: Line 10:
DEB_BUILD_OPTIONS="nostrip noopt" sudo apt-get source -b <package> export DEB_BUILD_OPTIONS="nostrip noopt"
sudo apt-get source -b <package>
Line 12: Line 14:
sudo dpkg --install <package.deb> sudo debi <package*.changes>
Line 14: Line 16:
 1. Start the program under control of `gdb`: {{{
gdb <program>
(gdb) run <arguments, if any>
}}}
 1. The program will start. Perform any actions necessary to reproduce the crash
 1. Retrieve a backtrace of the crash: {{{
(gdb) thread apply all bt full }}}

 1. Include the complete output from gdb in your bug report
 1. Now you make a ["Backtrace"].
 1. You can also run ["Valgrind"], if the program crashes with a "Segmentation fault" or "Bus error".
 1. Optionally, you may be asked to produce an ["Strace"].
Line 25: Line 21:

CategoryDocumentation
  1. Check if the package has a debugging version available. In general, debugging packages will be named with a -dbg suffix

  2. If not, you can generally* build one this way:
    1. Install the development scripts:

      sudo apt-get install devscripts
    2. Install the build-time dependencies for the package:

      sudo apt-get build-dep <package>
    3. Build .debs for debugging:

      export DEB_BUILD_OPTIONS="nostrip noopt"
      sudo apt-get source -b <package>
    4. Install the needed .debs (they will be in the current working directory if the build succeeded):

      sudo debi <package*.changes>
  3. Now you make a ["Backtrace"].
  4. You can also run ["Valgrind"], if the program crashes with a "Segmentation fault" or "Bus error".
  5. Optionally, you may be asked to produce an ["Strace"].

* most of the packages support the build of debugging version in this way. If that doesn't work for a package you can open a bug against it.

CategoryDocumentation

DebuggingProgramCrash (last edited 2026-01-27 15:38:17 by sombrafam)