Boost logo

Boost :

Subject: [boost] puzzle for gcc gurus
From: Robert Ramey (ramey_at_[hidden])
Date: 2009-03-21 15:47:28


I'm trying use gdb under cygwin to debug one of the tests in the
serialization library.

I've done the before but only with static linking. This time, the failure
only occurs when using the serialization library as a shared library. So I
want to trap/trace inside the boost_serialization DLL. Using the cygwin
bash shell, I get the following.

$ set | grep LD
LD_LIBRARY_PATH=C:/BoostRelease/bin.v2/libs/serialization/build/gcc-3.4.4/debug
OLDPWD=/cygdrive/c/boostrelease

Robert Ramey_at_rrsd01 /cygdrive/c/boostrelease/libs/serialization/test
$ cat t.g
file
C:/BoostRelease/bin.v2/libs/serialization/test/test_diamond_text_archive.te
st/gcc-3.4.4/debug/test_diamond_text_archive.exe
sharedlibrary
C:/BoostRelease/bin.v2/libs/serialization/build/gcc-3.4.4/debug/bo
ost_serialization-gcc34-d-1_39.dll

Robert Ramey_at_rrsd01 /cygdrive/c/boostrelease/libs/serialization/test
$ gdb -x t.g
GNU gdb 6.8.0.20080328-cvs (cygwin-special)
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
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 "i686-pc-cygwin".
(gdb) r
Starting program:
/cygdrive/c/BoostRelease/bin.v2/libs/serialization/test/test_d
iamond_text_archive.test/gcc-3.4.4/debug/test_diamond_text_archive.exe
[New thread 3952.0xb10]
gdb: unknown target exception 0xc0000135 at 0x7c964ed1

Program exited with code 030000000465.
You can't do that without a process to debug.
(gdb)
(gdb) l main
169 int test_main(int argc, char * argv[]);
170
171 #include <boost/serialization/singleton.hpp>
172
173 int
174 main(int argc, char * argv[]){
175
176 boost::serialization::singleton_module::lock();
177
178 BOOST_TRY{
(gdb)

Things crash immediately. I believe that the exception 0xc0000135 at
0x7c964ed1 refers to the inability to load some required DLL. Note that I
can list the source code of the mainline program so things do seem to get
loaded.

I realize that his might be off topic - but I'm sort of desparate. Any help
appreciated.

Robert Ramey


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk