DebuggingProgramCrash

Differences between revisions 4 and 5
Revision 4 as of 2005-10-14 10:46:59
Size: 1071
Editor: ANancy-151-1-4-224
Comment:
Revision 5 as of 2006-03-23 17:24:26
Size: 1212
Editor: i577B0381
Comment:
Deletions are marked like this. Additions are marked like this.
Line 20: Line 20:
 1. If the output gets very long, you might want to use: {{{
(gdb) set logging output backtrace.txt
(gdb) set logging on
}}} beforehand.
  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 build-time dependencies for the package:

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

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

      sudo dpkg --install <package.deb>
  3. Start the program under control of gdb:

    gdb <program>
    (gdb) handle SIG33 pass nostop noprint
    (gdb) run <arguments, if any>
  4. The program will start. Perform any actions necessary to reproduce the crash
  5. Retrieve a backtrace of the crash:

    (gdb) thread apply all bt 
  6. If the output gets very long, you might want to use:

    (gdb) set logging output backtrace.txt
    (gdb) set logging on
    beforehand.
  7. Include the complete output from gdb in your bug report

* 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)