DebuggingProgramCrash

Differences between revisions 1 and 22 (spanning 21 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 22 as of 2006-10-10 08:43:41
Size: 1485
Editor: i577B0D77
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= DebuggingProgramCrash = Add the following line to `/etc/apt/sources.list`:
{{{
deb http://people.ubuntu.com/~pitti/ddebs edgy main universe
}}}

The debug symbol packages have the `-dbgsym` suffix attached, so to install the debug symbols for the package `yelp`, you run:
{{{
sudo apt-get install yelp-dbgsym
}}}

 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"].


== Old notes ==
Line 5: Line 20:

   * 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 30:
DEB_BUILD_OPTIONS="nostrip noopt" sudo apt-get source -b <package> export DEB_BUILD_OPTIONS="debug nostrip noopt"
faker
oot apt-get source -b <package>
Line 12: Line 34:
sudo dpkg --install <package.deb> sudo debi <package>*.changes
Line 14: Line 36:
 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
Line 25: Line 38:


----
CategoryBugSquad

Add the following line to /etc/apt/sources.list:

deb http://people.ubuntu.com/~pitti/ddebs edgy main universe

The debug symbol packages have the -dbgsym suffix attached, so to install the debug symbols for the package yelp, you run:

sudo apt-get install yelp-dbgsym
  1. Now you make a ["Backtrace"].
  2. You can also run ["Valgrind"], if the program crashes with a "Segmentation fault" or "Bus error".
  3. Optionally, you may be asked to produce an ["Strace"].

Old notes

  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"
      fakeroot 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

* 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 2022-12-20 22:13:06 by sergiodj)