I’ve been googling for this and checking through the gdb manual but can’t seem to find an answer to what I’m trying to do.
Is there a way to get gdb to print out a listing of all the methods for a given class type? The print command only seems to show the data members and fields, none of the methods are displayed for it.
Additionally, to take it a step further, is there a way to print all the correct virtual methods given a base *pointer? Say like for example:
struct A
{
virtual void foo() {}
};
struct B : public A
{
void foo() {}
};
int main()
{
A *b = new B;
}
How can I get gdb to print variable *b and have it show the correct virtual method(s)?
Thanks
You can use
ptype.Suppose I add these lines to your example:
Now in gdb I can ask for a description of a class type (or an instance of one):
If I try that with a pointer, I get the declared type:
If I want the real type, I must set the `print object’ variable:
and then call
ptypeagain to see whatBhas (I don’t know how to do it in one step).