
On Fri, Jan 08, 2010 at 12:21:44PM +0100, Diego Elio ???Flameeyes??? Petten? wrote:
Il giorno ven, 08/01/2010 alle 11.16 +0000, Daniel P. Berrange ha scritto:
What problems do shared libraries cause with GDB - I've never had any trouble with it at all - it 'just works' perfectly picking up any debuginfo packages from things we link against too. The only GDB issues I see are its inability to cope with -O2 optimized code.
I think what they meant is not much related to shared libraries (which works pretty good with gdb) but with the handling of dynamically-linked executables and libtool: launching gdb ./virsh will not work, obviously; you either launch it directly (./.libs/virsh), but most people will forget to set the proper LD_LIBRARY_PATH entries and thus debug the installed copy of the libraries, or you pass through libtool, but most people don't know that.
Hmm using --disable-shared is really not the right solution to that problem. For people that can't rememver the long libtool command name it is easy to create a wrapper $ cat ~/usr/bin/ltrun #!/bin/sh exec libtool --mode=execute "$@" Then you can just do this which isn't hard to remember or type ltrun gdb ./virsh Switching to static build to debug something is craziness, because it can and will change the behaviour of many memory-corruption related problems so that something you see fail with shared library build won't reproduce in the same way with a static build. Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|