DebuggingProgramCrash
1040
Comment: imported from the old wiki
|
1485
|
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" fakeroot 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
- Now you make a ["Backtrace"].
- You can also run ["Valgrind"], if the program crashes with a "Segmentation fault" or "Bus error".
- Optionally, you may be asked to produce an ["Strace"].
Old notes
Check if the package has a debugging version available. In general, debugging packages will be named with a -dbg suffix
- 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
Install the development scripts:
sudo apt-get install devscripts
Install the build-time dependencies for the package:
sudo apt-get build-dep <package>
Build .debs for debugging:
export DEB_BUILD_OPTIONS="debug nostrip noopt" fakeroot apt-get source -b <package>
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.
DebuggingProgramCrash (last edited 2022-12-20 22:13:06 by sergiodj)