This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Shared library debugging problem under Solaris 8


Hello,
 
I have a problem using gdb under Solaris 8 (sparc).
I use gcc 3.2.2 for building shared library. I use -g -fPIC compilation
options and gcc -shared -g for building the library. When I use gdb 5.0 it
can't understand gnu-v3 C++ mangling style, so gdb don't understand the
types (classes) and debugging is impossible. I tried to move to gdb 5.3 that
do understand this mangling style, but I stuck with another problem. When I
print stack after the program's crash all the stack frames that belongs to
my library are printed as following:
    0x7f4d8250 in ?? () from /home/..../libfoo.so
It looks like I compile without any debugging information.
 
Another problem is when I try to set breakpoint in my shared library and
type 'continue' I get the following message:
    (gdb) b 'Engine::get_data_from_registry(std::string&)' 
    Breakpoint 2 at 0x2b7f6c: file /home/..../Engine.cpp, line 1185.
    (gdb) c
    Continuing.
    Warning:
    Cannot insert breakpoint 2.
    Error accessing memory address 0x2b7f6c: I/O error.
    The same program may be running in another process.

One more thing. My shared library is very big (about 125M with debugging
information). Maybe it's a problem. When I build a little test (with shared
library and the same compilation options) I didn't get this problem. If the
problem is a library size, how can I handle it?
 
Any help will be very appreciated.
 
Thanks in advance,
Alex Paker
alex@sela.co.il


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]