diff options
Diffstat (limited to 'data')
-rw-r--r-- | data/gdb/ChangeLog | 4 | ||||
-rw-r--r-- | data/gdb/mono-gdb.py | 10 |
2 files changed, 13 insertions, 1 deletions
diff --git a/data/gdb/ChangeLog b/data/gdb/ChangeLog index fe66ff41967..07f4a499bfd 100644 --- a/data/gdb/ChangeLog +++ b/data/gdb/ChangeLog @@ -1,3 +1,7 @@ +2009-04-05 Zoltan Varga <vargaz@gmail.com> + + * mono-gdb.py: Handle superclasses in the pretty printer. + 2009-03-27 Zoltan Varga <vargaz@gmail.com> * mono-gdb.py (StringPrinter.to_string): Fix support for non-ascii characters. diff --git a/data/gdb/mono-gdb.py b/data/gdb/mono-gdb.py index d906b7dc813..5102d1eada1 100644 --- a/data/gdb/mono-gdb.py +++ b/data/gdb/mono-gdb.py @@ -81,7 +81,15 @@ class ObjectPrinter: def next(self): field = self.iter.next () - return (field.name, self.obj [field.name]) + try: + if str(self.obj [field.name].type ()) == "object": + # Avoid recursion + return (field.name, self.obj [field.name].cast (gdb.Type ("void").pointer ())) + else: + return (field.name, self.obj [field.name]) + except: + # Superclass + return (field.name, self.obj.cast (gdb.Type ("struct %s" % (field.name)))) def children(self): # FIXME: It would be easier if gdb.Value would support iteration itself |