This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Unable to find dynamic linker breakpoint function.
- From: Hareesh Nagarajan <hnagaraj at cs dot uic dot edu>
- To: Kris Warkentin <kewarken at qnx dot com>
- Cc: GDB <gdb at sources dot redhat dot com>
- Date: Fri, 25 Feb 2005 15:00:45 -0600
- Subject: Re: Unable to find dynamic linker breakpoint function.
- References: <421F7E59.7020400@cs.uic.edu> <421F86A4.3020400@qnx.com>
Kris Warkentin wrote:
Looks like it has nothing to do with your special libs. I just tried to
reproduce your problem and got this:
Yeah it looks like it has nothing to do with the libs such as libstdc++.
Below I've written a simple program called 'new2.cc'
<new2.cc>
#include <iostream>
using namespace std;
class X
{
int xx;
public:
X(int _xx) {xx = _xx;}
void display(void) { cout << xx; };
};
int main(void)
{
X xobj(2);
xobj.display(); // Line 15
}
</new2.cc>
I compiled it as follows: g++ new2.cc -onew2 -g
When I break it on line 15, I get the same problem as PR1766
http://sources.redhat.com/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gdb&pr=1766&return_url=http%3A%2F%2Fsources.redhat.com%2Fcgi-bin%2Fgnatsweb.pl%3Fdatabase%3Dgdb%26category%3Dc%252B%252B%26severity%3Dall%26priority%3Dall%26responsible%3Dall%26submitter_id%3Dall%26state%3Dall%26ignoreclosed%3DIgnore%2520Closed%26class%3Dall%26synopsis%3D%26multitext%3D%26columns%3Dcategory%26columns%3Dstate%26columns%3Dclass%26columns%3Dresponsible%26columns%3Dsynopsis%26displaydate%3DDisplay%2520Current%2520Date%26cmd%3Dsubmit%2520query%26sortby%3DResponsible%26.cgifields%3Ddisplaydate%26.cgifields%3Dignoreclosed%26.cgifields%3Doriginatedbyme%26.cgifields%3Dcolumns
<error>
(gdb) b 15
Breakpoint 1 at 0x8048654: file new2.cc, line 15.
(gdb) r
Starting program: /home/hareesh/new2
warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.
Breakpoint 1, main () at new2.cc:15
15 X xobj(2);
(gdb) n
16 xobj.display();
(gdb) inspect xobj.display()
Breakpoint 1, main () at new2.cc:15
15 X xobj(2);
The program being debugged stopped while in a function called from GDB.
When the function (X::display()) is done executing, GDB will silently
stop (instead of continuing to evaluate the expression containing
the function call).
</error>
My question is, how come GDB doesn't stop on other boxes when I inspect
a member function and it stops on mine :( ?
Thanks,
Hareesh