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]

Re: stepping from header to header in C++


I've found a bit more and I'm hoping someone can give me a little advice on where to start looking.

We have:

main.cpp -> header1.hpp -> header2.hpp

where "->" denotes inclusion. If I include header2 in main (before header1), then everything works fine.

I'm assuming I should be looking in stabsread.c. It looks like for some reason gdb is not considering code from header2 as having debug info (even though it shows up in info sources).

Not really sure what I'm asking - mostly just a starting point. It looks like some info is read with 'sym testfile' but more is read when setting breakpoints. Any hints?

cheers,

Kris

Kris Warkentin wrote:

Wild stab in the dark here. I'm grepping through the ChangeLogs and Gnats but I'm hoping someone remembers fixing this.

In gdb 5.2.1 when debugging a C++ app with stabs+, gdb will not step from a method defined in a header to another method defined in a header. It stops on breakpoints well enough but will only step over.

ie
h1.hpp:
class testclass1{
 >>> step into this one fine but steps over the next call
    public: void method1(void){ test_class2.method1(); }
}

h2.hpp:
class testclass2{
    public: void method1(void){ print_stuff(); }
}

The problem seems to be fixed in more recent versions and doesn't exist when compiling with dwarf either. Not a super critical thing since it's workaroundable but I was hoping someone might remember off the top of their head.

cheers,

Kris


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