This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
RE: gdb + dynamic libs problem
- From: "Lev Assinovsky" <LAssinovsky at algorithm dot aelita dot com>
- To: "Kevin Buettner" <kevinb at redhat dot com>,<gdb at sources dot redhat dot com>
- Date: Thu, 20 Feb 2003 13:26:13 +0300
- Subject: RE: gdb + dynamic libs problem
Thanks Kevin!
My response see below.
I was so happy if anybody could help me!
----
Lev Assinovsky
Aelita Software Corporation
O&S Core Division, Programmer
ICQ# 165072909
> -----Original Message-----
> From: Kevin Buettner [mailto:kevinb at redhat dot com]
> Sent: Thursday, February 20, 2003 12:42 AM
> To: Lev Assinovsky; gdb at sources dot redhat dot com
> Subject: Re: gdb + dynamic libs problem
>
>
> On Feb 18, 2:08pm, Lev Assinovsky wrote:
>
> > I try to debug the application where dynamic objects
> > are loaded through user's dlopen explicit call.
> > The only way to set breakpoint in .so is to open source after
> > .so got loaded (I have to detect this moment myself).
>
> GDB can help you with this if you you do ``set
> stop-on-solib-events 1''.
> You'll probably want to do this well after your program has started
> though to avoid stopping every time one of the shared
> libraries specified
> on the link line gets loaded.
>
> > I perform source opening by issue the commands "shared library" and
> > "list <file>:1".
>
> Have you disabled ``auto-solib-add''? If not, you shouldn't need to
> invoke the ``sharedlibrary'' command directly. I.e, gdb should
> automatically load the shared libraries for you (unless you've told it
> not to).
Here the point is! I don't have "classic" shared libraries like
libxxx.so. And application is not linked with them.
I have xxx.so and load it via dlopen function. I.e. gdb doesn't have
any knowledge about c++ files in my shared object until I type in "sharedlibrary" command!
>
> > But if the source file is big gdb get crash.
> > It there any way to increase gdb resources to consume
> > larger files (symbol tables?)
>
> Which platform are you running on? On most platforms, gdb should
> be able to use whatever resources the operating system is able to
> give it. Thus, you may need to play around with ulimit, adjusting
> the amount of memory, swap space, etc.
I tried solaris8-intel and solaris8-sparc platforms with ulimit=unlimited.
>
> Kevin
>