This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
getting subclass type from base class pointer
- From: Paul Marquess <Paul dot Marquess at owmobility dot com>
- To: "gdb at sourceware dot org" <gdb at sourceware dot org>
- Date: Thu, 29 Oct 2015 19:40:57 +0000
- Subject: getting subclass type from base class pointer
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=none (sender IP is ) smtp dot mailfrom=Paul dot Marquess at owmobility dot com;
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:23
I must be missing something obvious, so apologies upfront.
Consider this simple snippet of C++
class SuperClass
{
};
class SubClass : public SuperClass
{
};
int main()
{
SuperClass* pTest = new SubClass;
delete pTest; // << Break here in GDB
}
Using the python API I'm trying to determine the type of object that pTest points to.
gdb) python x = gdb.parse_and_eval("pTest")
(gdb) python print x.type
SuperClass *
(gdb) python print x.dereference().type
SuperClass
How do I get at the SubClass object using the Python API?
cheers
Paul
PS running GDB 7.10
$ gdb -v
GNU gdb (GDB) 7.10