gdb backtrace to file


I wanted a simple command to get a backtrace in a file from gdb. It took me years to finally discover and craft this command! alias bt='echo 0 | gdb -batch-silent -ex "run" -ex "set logging overwrite on" -ex "set logging file gdb.bt" -ex "set logging on" -ex "set pagination off" -ex "handle SIG33 pass nostop noprint" -ex "echo backtrace:\n" -ex "backtrace full" -ex "echo \n\nregisters:\n" -ex "info registers" -ex "echo \n\ncurrent instructions:\n" -ex "x/16i \$pc" -ex "echo \n\nthreads backtrace:\n" -ex "thread apply all backtrace" -ex "set logging off" -ex "quit" --args' bt $crashing_application This will create gdb.bt in your current directory.

undefined reference to “function name”


Since hermes is flooding my mailbox I haven't looked if all my packages are compiling on Factory. So I had a look for interesting emails today. ctrlproxy (irc proxy/bouncer) didn't build with undefined reference to "". I wondered if the libarary packages have been renamed, but everything looked fine. I've talked to darix and he told me about the --as-needed flag of the linker which is set by default now. I've searched for some documentation didn't find something which explains the problems so here is my documentation. The problem is the linking order of the libraries and source code! Lets look at an example: Assume that you built a static library libwurst and it uses the pow() function from the…