Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorZoltan Varga <vargaz@gmail.com>2010-08-10 01:44:49 +0400
committerZoltan Varga <vargaz@gmail.com>2010-08-10 01:44:49 +0400
commit17d4b66b8ccdfe30312480d25a925e8cddb4bdd2 (patch)
tree17eb689c7d685ee11ef1943fe4d8fcef814cce20 /data
parent70f1755ed9268802d8a43c98455da7714bbd9ae2 (diff)
Avoid exceptions in gdb when encountering unknown struct types.
Diffstat (limited to 'data')
-rw-r--r--data/gdb/mono-gdb.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/data/gdb/mono-gdb.py b/data/gdb/mono-gdb.py
index fc101f122f9..1ce7e6e2d7b 100644
--- a/data/gdb/mono-gdb.py
+++ b/data/gdb/mono-gdb.py
@@ -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]