= Debug the code = Since the switch to shared libraries we use [http://www.gnu.org/software/libtool/ libtool] to do the compiling and linking. Due to its inner workings, the true executable is not generated until {{{ make install }}} is executed. If you check on e.g. ./src/molecuilder in your build directory after compilation you will notice that it is just a shell script pointing to some stuff residing in '''.libs''' in the same directory. Hence, debugging this shell script will not work, but make [http://www.gnu.org/software/gdb/ gdb] cry out that it does not recognize the executable's format: {{{ $> gdb ./src/molecuilder GNU gdb (GDB) 7.1-ubuntu Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". For bug reporting instructions, please see: ... "/mnt.auto/bespin/heber/workspace_C/molecuilder/debug64/src/molecuilder": not in executable format: File format not recognized (gdb) q }}} Instead, execute: {{{ libtool --mode=execute gdb --args ./src/molecuilder -v [some more options ...] }}} You may also set your own alias in '''~/.bashrc''' to ease the typing, just add the following line to the file {{{ alias debug='libtool --mode=execute gdb --args' }}}