How To Get a Meaningful Backtrace

This page will attempt to explain how to get a meaningful debugging backtrace from a reproducible program crash. For this example, we will rebuild & install the "hello" package so that we keep debugging information.

For reference, a "#" at the beginning of a line means that what follows is a command that has to be executed as root. A "$" at the beginning means that what follows is a command that should be executed as your normal user. A "(gdb)" at the beginning means that you should be typing the rest of the command line at the gdb (GNU Debugger) prompt.

If the problem seems to be in a major library such as libc6, xlibs, or libgtk2.0-0, you'll want to install the appropriate -dbg package (e.g. libc6-dbg in the case of libc6), and run your program under gdb like this (note the LD_LIBRARY_PATH):

 $ LD_LIBRARY_PATH=/usr/lib/debug