Avoid exceptions in gdb when encountering unknown struct types.
authorZoltan Varga <vargaz@gmail.com>
Mon, 9 Aug 2010 21:44:49 +0000 (23:44 +0200)
committerZoltan Varga <vargaz@gmail.com>
Mon, 9 Aug 2010 21:44:49 +0000 (23:44 +0200)
data/gdb/mono-gdb.py

index fc101f122f9ec0d56f2b588fdf00fc4bd3a2a959..1ce7e6e2d7be6517ac35e68d035ac8de64da4777 100644 (file)
@@ -103,8 +103,11 @@ class ObjectPrinter:
             class_name = obj ['vtable'].dereference ()['klass'].dereference ()['name'].string ()
             if class_name [-2:len(class_name)] == "[]":
                 return {}.__iter__ ()
-            gdb_type = gdb.lookup_type ("struct %s_%s" % (class_ns.replace (".", "_"), class_name))
-            return self._iterator(obj.cast (gdb_type))
+            try:
+                gdb_type = gdb.lookup_type ("struct %s_%s" % (class_ns.replace (".", "_"), class_name))
+                return self._iterator(obj.cast (gdb_type))
+            except:
+                return {}.__iter__ ()
         except:
             print sys.exc_info ()[0]
             print sys.exc_info ()[1]