DebuggingProgramCrash

Differences between revisions 1 and 18 (spanning 17 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 18 as of 2006-09-01 20:02:59
Size: 1242
Editor: ottawa-hs-206-191-33-252
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= DebuggingProgramCrash =
Line 5: Line 3:

   * Something to keep in mind: if you would like to create a build you're going to need to have the relevant deb-src lines in your /etc/apt/sources.list

  a. Install the development scripts: {{{
sudo apt-get install devscripts
}}}
Line 9: Line 13:
DEB_BUILD_OPTIONS="nostrip noopt" sudo apt-get source -b <package> export DEB_BUILD_OPTIONS="debug nostrip noopt"
sudo apt-get source -b <package>
Line 12: Line 17:
sudo dpkg --install <package.deb> sudo debi <package>*.changes
Line 14: Line 19:
 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 [https://wiki.ubuntu.com/Backtrace Backtrace].
 1. You can also run [https://wiki.ubuntu.com/Valgrind Valgrind], if the program crashes with a "Segmentation fault" or "Bus error".
 1. Optionally, you may be asked to produce an [https://wiki.ubuntu.com/Strace Strace].
Line 25: Line 24:

CategoryBugSquad
  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:
    • Something to keep in mind: if you would like to create a build you're going to need to have the relevant deb-src lines in your /etc/apt/sources.list
    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="debug 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 [https://wiki.ubuntu.com/Backtrace Backtrace].

  4. You can also run [https://wiki.ubuntu.com/Valgrind Valgrind], if the program crashes with a "Segmentation fault" or "Bus error".

  5. Optionally, you may be asked to produce an [https://wiki.ubuntu.com/Strace 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.

CategoryBugSquad

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