This is the mail archive of the 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]

Re: C++ debugging pain

On date Tuesday 2008-08-26 09:36:35 -0700, Paul Pluzhnikov wrote:
> On Tue, Aug 26, 2008 at 9:22 AM, Stefano Sabatini
> <> wrote:
> > * "class X does not have any method named Y": this happens with
> >  virtual methods defined in a parent class rather than in the class
> >  of the instance debugged
> Try "set print object on".
> (I am working on a fix which would make that unnecessary).

I checked my gdbinit, I already had the command:
set print object

I think it should be equivalent to your command.

BTW I forgot to give my gdb version:
gdb --version
GNU gdb 6.8-debian

> > * "Cannot resolve method (null)X to any overloaded instance":
> >  this happen when I try to invoke a method on some object
> This usually happens when you have a pointer to Foo, and do:
>   print p.virtfn()
> Instead, try:
>   print p->virtfn()
> (I am also working on that fix).
> >  I've been already advised by Daniel Jacobowitz (thanks Daniel) that
> >  it could depend on the method invoked being inlined.

Another problem which I'm facing is that I sometimes can't set
breakpoints on some functions, for example:

(gdb) b PUDPSocket::WriteTo()
Function "PUDPSocket::WriteTo()" not defined.
(gdb) b PUDPSocket::WriteTo
the class PUDPSocket does not have any method named WriteTo
Hint: try 'PUDPSocket::WriteTo<TAB> or 'PUDPSocket::WriteTo<ESC-?>
(Note leading single quote.)

Note also the inconsistency in the feedback message.

These are classes from the libpt, but now I'm not sure they've been
compiled with the right options (-O0 -ggdb) due to messy build system
implemented for that library.

> If you compiled without '-O*', no inlining should have happened.
> If you do compile with '-g -O2', you are inflicting pain on yourself.

Well being a programmer I like to inflict myself pain, but I'm not that
masochistic ;-), always use -O0 -ggdb when compiling.

BTW I'd be glad to help testing, feel free to contact me if you need
some tester for those fixes.

Thanks for your precious help.


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