DebuggingProgramCrash
|
Size: 1036
Comment: add category documentation
|
Size: 4055
Comment: Mark Edgy debugging symbols as no longer available as only feisty and gutsy ones
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 1: | Line 1: |
| ||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Contents'''[[BR]][[TableOfContents]]|| This document describes how to install debug packages on Ubuntu, which will aid in providing information for bugs. == Edgy Eft 6.10 == DEBUGGING SYMBOLS NO LONGER AVAILABLE FOR EDGY Use this section only if you are using Ubuntu Edgy 6.10. See the following section if you are using a prior version. 1. Add the following line to `/etc/apt/sources.list`: {{{deb http://people.ubuntu.com/~pitti/ddebs edgy main universe }}} 2. Import Martin's public key to your keyring: {{{ wget -q "http://keyserver.ubuntu.com:11371/pks/lookup?op=get&search=0x0DE7276D5E0577F2" -O- | sudo apt-key add - }}} 3. Then run {{{ sudo apt-get update }}} to update your package list. 4. 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 }}} a. Now you make a ["Backtrace"]. a. You can also run ["Valgrind"], if the program crashes with a "Segmentation fault" or "Bus error". a. Optionally, you may be asked to produce an ["Strace"]. === References === * Announcement: https://lists.ubuntu.com/archives/ubuntu-devel-announce/2006-September/000195.html == Feisty Fawn 7.04 == The steps described above for Edgy also work for Feisty, just add the following line to `/etc/apt/sources.list`: {{{deb http://people.ubuntu.com/~pitti/ddebs feisty main universe }}} == Gutsy Gibbon 7.10 == The steps described above for Edgy also work for Gutsy, just add the following line to '/etc/apt/sources.list' : {{{deb http://people.ubuntu.com/~pitti/ddebs gutsy main universe }}} == Prior Ubuntu versions == Use this section if you are using an Ubuntu version prior to Edgy 6.10. |
|
| Line 3: | Line 58: |
| a. Install the build-time dependencies for the package: {{{ | 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 fakeroot }}} a. Find out to which package your program belongs to: {{{ dpkg --search <program> }}} a. Install the build-time dependencies for the package: {{{ |
| Line 6: | Line 75: |
| a. Build .debs for debugging: {{{ DEB_BUILD_OPTIONS="nostrip noopt" sudo apt-get source -b <package> |
a. Build .debs for debugging: {{{ export DEB_BUILD_OPTIONS="debug nostrip noopt" fakeroot apt-get source -b <package> |
| Line 9: | Line 80: |
| a. Install the needed .debs (they will be in the current working directory if the build succeeded): {{{ sudo dpkg --install <package.deb> |
a. Install the needed .debs (they will be in the current working directory if the build succeeded): {{{ sudo debi <package>*.changes |
| Line 12: | Line 84: |
| 1. Start the program under control of `gdb`: {{{ gdb <program> (gdb) run <arguments, if any> |
* Most packages support the build of debugging version in this way. If this process doesn't work for a package, please open a bug against it. == The Xorg server == The X server will by default trap its own crashes and dump a stack trace in /var/log/Xorg.0.log. However, this stack trace is modified by the signal handler itself. To get a "normal" crash, which will trigger a core dump (and ''apport'' reporting), add this to your /etc/X11/xorg.conf: {{{ Section "ServerFlags" Option "NoTrapSignals" "true" EndSection |
| Line 16: | Line 96: |
| 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 }}} |
|
| Line 20: | Line 97: |
| 1. Include the complete output from gdb in your bug report | |
| Line 22: | Line 98: |
| * 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. | == Info for the BugSquad == |
| Line 24: | Line 100: |
| CategoryDocumentation | If you're trying to `apport-retrace` a crash report from a bug that didn't happen on the same Ubuntu release as the one you're running, do the following: Say that you're running `feisty` and the crash happened on `edgy`: 0. This will create a minimal `edgy` system. {{{ sudo mkdir -p /chroots/edgy sudo debootstrap edgy /chroots/edgy/}}} 0. Now you change into this minimal `edgy` system. {{{ sudo chroot /chroot/edgy}}} 0. edit `/etc/apt/sources/list` and all the repositories you need, especially Martin's ddeb repository. 0. {{{ apt-get update; apt-get install gdb apport}}} 0. use `apport-retrace` as you're used to. ---- CategoryBugSquad |
ContentsBRTableOfContents |
This document describes how to install debug packages on Ubuntu, which will aid in providing information for bugs.
== Edgy Eft 6.10 == DEBUGGING SYMBOLS NO LONGER AVAILABLE FOR EDGY
Use this section only if you are using Ubuntu Edgy 6.10. See the following section if you are using a prior version.
1. Add the following line to /etc/apt/sources.list:
{{{deb http://people.ubuntu.com/~pitti/ddebs edgy main universe
}}}
2. Import Martin's public key to your keyring:
wget -q "http://keyserver.ubuntu.com:11371/pks/lookup?op=get&search=0x0DE7276D5E0577F2" -O- | sudo apt-key add -
3. Then run
sudo apt-get update
to update your package list.
4. 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"].
References
Feisty Fawn 7.04
The steps described above for Edgy also work for Feisty, just add the following line to /etc/apt/sources.list:
{{{deb http://people.ubuntu.com/~pitti/ddebs feisty main universe
}}}
Gutsy Gibbon 7.10
The steps described above for Edgy also work for Gutsy, just add the following line to '/etc/apt/sources.list' :
{{{deb http://people.ubuntu.com/~pitti/ddebs gutsy main universe
}}}
Prior Ubuntu versions
Use this section if you are using an Ubuntu version prior to Edgy 6.10.
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 fakeroot
- Find out to which package your program belongs to:
dpkg --search <program>
- 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 packages support the build of debugging version in this way. If this process doesn't work for a package, please open a bug against it.
The Xorg server
The X server will by default trap its own crashes and dump a stack trace in /var/log/Xorg.0.log. However, this stack trace is modified by the signal handler itself. To get a "normal" crash, which will trigger a core dump (and apport reporting), add this to your /etc/X11/xorg.conf:
Section "ServerFlags"
Option "NoTrapSignals" "true"
EndSection
Info for the BugSquad
If you're trying to apport-retrace a crash report from a bug that didn't happen on the same Ubuntu release as the one you're running, do the following:
Say that you're running feisty and the crash happened on edgy:
This will create a minimal edgy system.
sudo mkdir -p /chroots/edgy sudo debootstrap edgy /chroots/edgy/
Now you change into this minimal edgy system.
sudo chroot /chroot/edgy
edit /etc/apt/sources/list and all the repositories you need, especially Martin's ddeb repository.
apt-get update; apt-get install gdb apport
use apport-retrace as you're used to.
DebuggingProgramCrash (last edited 2026-01-27 15:38:17 by sombrafam)