gnucash running under gdb - Could not find object file, cleaning

Brad Grupczynski brad.gnucash at gmail.com
Mon Apr 25 16:01:38 EDT 2011


On Apr 24, 2011, at 12:21 AM, John Ralls wrote:

> 
> On Apr 23, 2011, at 7:52 PM, Brad Grupczynski wrote:
> 
>> Trying to get gnucash running under gdb. Using "gnucash-gdb". I'm getting many warnings about not being able to find object files.
>> 
>> In ".jhbuild-custom" I added:
>> append_autogenargs("aqbanking", " --enable-debug")
>> append_autogenargs("gnucash-svn", " --enable-debug")
>> 
>> jhbuild buildone --force --clean aqbanking
>> jhbuild buildone --force --clean gnucash-svn
>> 
>> On "gnucash-gdb":
>> warning: Could not find object file "/Users/gnucash2/gtk/source/gnucash-svn/src/html/.libs/libgncmod-html.lax/libc-missing.a/libc-missing-noop.o" - no debug information available for "libc-missing-noop.c".
>> warning: Could not find object file "/Users/gnucash2/gtk/source/gnucash-svn/src/html/.libs/libgncmod-html.lax/libc-missing.a/strptime.o" - no debug information available for "strptime.c".
>> warning: Could not find object file "/Users/gnucash2/gtk/source/gnucash-svn/src/gnome-utils/.libs/libgncmod-gnome-utils.lax/libc-missing.a/libc-missing-noop.o" - no debug information available for "libc-missing-noop.c".
>> warning: Could not find object file "/Users/gnucash2/gtk/source/gnucash-svn/src/gnome-utils/.libs/libgncmod-gnome-utils.lax/libc-missing.a/strptime.o" - no debug information available for "strptime.c".
>> warning: Could not find object file "/Users/gnucash2/gtk/source/gnucash-svn/src/engine/.libs/libgncmod-engine.lax/libc-missing.a/libc-missing-noop.o" - no debug information available for "libc-missing-noop.c".
>> warning: Could not find object file "/Users/gnucash2/gtk/source/gnucash-svn/src/engine/.libs/libgncmod-engine.lax/libc-missing.a/strptime.o" - no debug information available for "strptime.c".
>> warning: Could not find object file "/Users/gnucash2/gtk/source/gnucash-svn/src/gnc-module/.libs/libgnc-module.lax/libc-missing.a/libc-missing-noop.o" - no debug information available for "libc-missing-noop.c".
>> warning: Could not find object file "/Users/gnucash2/gtk/source/gnucash-svn/src/gnc-module/.libs/libgnc-module.lax/libc-missing.a/strptime.o" - no debug information available for "strptime.c".
>> warning: Could not find object file "/Users/gnucash2/gtk/source/gnucash-svn/src/libqof/qof/.libs/libgnc-qof.lax/libc-missing.a/libc-missing-noop.o" - no debug information available for "libc-missing-noop.c".
>> warning: Could not find object file "/Users/gnucash2/gtk/source/gnucash-svn/src/libqof/qof/.libs/libgnc-qof.lax/libc-missing.a/strptime.o" - no debug information available for "strptime.c".
>> 
>> I don't see .lax files anywhere. Ignore these warnings?
>> 
>> On another note, and it may not be important, I noticed this when cleaning in several spots:
>> test -z " gnucash .scm-links" || rm -f  gnucash .scm-links
>> rm: gnucash: is a directory
>> 
>> If we really want "gnucash" deleted then we need "rm -fd". Unless in some places it's a file and this is a catch all.
> 
> Gnucash-gdb (which does the same setup as gnucash-launcher, then exec gdb gnucash instead of exec gnucash) doesn't
> seem to work right for me. I generally start gnucash-launcher, pause it with ctrl-z, get the process number (I use ps | grep gnucash, but you could use Activity Montitor if you'd rather), start gdb, and attach the running gnucash process. I think, but have never been able to prove, that the trouble is caused by having to start dbus in the shell script.
> 
> I also find that it's necessary to link the dSYM directories (which are built in the individual .libs directories) to be next to their installed libraries for gdb to be able to find the symbols.
> 
> Aside from dbus, libtool gets in the way. It's a bit of a hack on OSX -- and should be unnecessary -- but it's hardwired into the autotools build system. Libtool is where all those .la? files come from.
> 
> Good point about rm -f gnucash, except that rm -fd will fail, too, because the gnucash directories have a symlink in them. The needed command would be "rm -rf".
> Not really a big deal though. The symlinks don't take up much space.
> 
> Regards,
> John Ralls
> 

I've actually been trying to get debugging to work under Eclipse. I prefer a GUI debugger. So far so good. I can set breakpoints, view code, etc.

With respect to dbus. I fire up an instance in a shell (removing "--exit-with-session") and grab:
DBUS_SESSION_BUS_ADDRESS
DBUS_SESSION_BUS_PID

I plug those into the debugging configuration environment variables (along with all the other env vars from "gnucash-setup-env") and I'm good. Unless I reboot/logout, I never need to change it in the configuration.

I don't think I've run into the issue with the dSYM directories. Yet...

Anyone see me running into issues the way I'm doing this?

-------------------------
Brad Grupczynski
brad.gnucash at gmail.com






More information about the gnucash-devel mailing list