DebuggingProgramCrash
|
Size: 1040
Comment: imported from the old wiki
|
Size: 1242
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 |
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" sudo 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
Now you make a [https://wiki.ubuntu.com/Backtrace Backtrace].
You can also run [https://wiki.ubuntu.com/Valgrind Valgrind], if the program crashes with a "Segmentation fault" or "Bus error".
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.
DebuggingProgramCrash (last edited 2026-01-27 15:38:17 by sombrafam)