This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Breakpoint on class member function
"Should", yes. But in practice, as you have discovered, it does not
work.
On Wed, Jun 18, 2003 at 02:06:53PM -0400, Mathews_Alex@emc.com wrote:
> In my case language is set to auto, so when I was in the C routine the
> language was C. Once I ended up in a routine that was C++ my current
> language became C++. I want to be clear, even if the current language is C,
> I should be able to set a breakpoint on a C++ class member function as I was
> expecting?
>
> -----Original Message-----
> From: Daniel Jacobowitz [mailto:drow@mvista.com]
> Sent: Wednesday, June 18, 2003 1:33 PM
> To: Mathews_Alex@emc.com
> Cc: gdb@sources.redhat.com
> Subject: Re: Breakpoint on class member function
>
>
> OK, that makes sense. Let's file this with the "current language
> doesn't make sense" pile. Would you mind filing a PR for tracking
> purposes? It probably won't be fixed any time soon.
>
> On Wed, Jun 18, 2003 at 01:31:33PM -0400, Mathews_Alex@emc.com wrote:
> > Finally figured out what was going on. I think it's because when I do the
> > target remote, the entry point is into a C routine, so the current
> language
> > is c instead of c++. When the language is c++ then the breakpoint works
> as
> > expected.
> >
> > -----Original Message-----
> > From: Daniel Jacobowitz [mailto:drow@mvista.com]
> > Sent: Wednesday, June 18, 2003 12:07 PM
> > To: Mathews_Alex@emc.com
> > Cc: gdb@sources.redhat.com
> > Subject: Re: Breakpoint on class member function
> >
> >
> > Well, if I can't get a test case I'm not sure how much help I can be.
> > Let's see...
> >
> > Is "ptype foo" correct both before and after the "target remote"?
> >
> > Does it list foo1 as a member?
> >
> > If both are yes, you're going to have to debug the lookup routines
> > yourself to see where the problem is.
> >
> > On Wed, Jun 18, 2003 at 11:36:49AM -0400, Mathews_Alex@emc.com wrote:
> > > I have tried with a gdb 5.3 without my changes and see the same problem.
> > > When I do the configure I use target==i686-pc-linux if that's of any
> > > significance. I'm working with a proprietary OS, so I don't have a
> binary
> > > to distribute.
> > >
> > > Doing "b foo::foo1; delete 1; b foo::foo1" without the target remote
> does
> > > work.
> > >
> > >
> > > -----Original Message-----
> > > From: Daniel Jacobowitz [mailto:drow@mvista.com]
> > > Sent: Wednesday, June 18, 2003 11:06 AM
> > > To: Mathews_Alex@emc.com
> > > Cc: gdb@sources.redhat.com
> > > Subject: Re: Breakpoint on class member function
> > >
> > >
> > > On Wed, Jun 18, 2003 at 10:50:29AM -0400, Mathews_Alex@emc.com wrote:
> > > >
> > > > I'm working with an internally modified gdb 5.3. I'm trying to figure
> > out
> > > > if something happens with symbols after a target remote is issued.
> The
> > > > binary is ELF format with debugging information built with gcc 3.2.
> The
> > > > scenario that I'm seeing is the following:
> > > >
> > > > (gdb) file symbols.gdb
> > > > (gdb) b foo::foo1
> > > > Breakpoint 1 @ ...
> > > > (gdb) delete 1
> > > > (gdb) target remote /dev/ttyS1
> > > > (gdb) b foo::foo1
> > > > the class foo does not have any method named foo1
> > > > Hint: try 'foo::foo1<TAB> or 'foo::foo1<ESC-?>
> > > > (gdb) b 'foo::foo1(char *, char *)'
> > > > Breakpoint 2 @ ...
> > > >
> > > > So, before I do a target remote, I'm able to set a breakpoint without
> > the
> > > > fully typed member function. Then afterwards, it won't work unless
> it's
> > > > fully typed, so I'm forced to use the hint provided. I haven't
> modified
> > > > anything in the symbol area, but I have made modifications to target
> > > remote
> > > > related code.
> > > >
> > > > Any insight would be appreciated. I did see bug 1023, but I wasn't
> sure
> > > if
> > > > that applied in my case.
> > >
> > > This doesn't make any sense to me. Do you have any distributable
> > > binaries which reproduce the problem - and can you reproduce it without
> > > your local changes?
> > >
> > > Does "b foo::foo1; delete 1; b foo::foo1" work without the target
> > > remote?
> > >
> > > --
> > > Daniel Jacobowitz
> > > MontaVista Software Debian GNU/Linux Developer
> > >
> >
> > --
> > Daniel Jacobowitz
> > MontaVista Software Debian GNU/Linux Developer
> >
>
> --
> Daniel Jacobowitz
> MontaVista Software Debian GNU/Linux Developer
>
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer