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>2011-03-15 01:09:06 +0300
committerZoltan Varga <vargaz@gmail.com>2011-03-16 16:43:25 +0300
commitbf832a6c6416e03758dc8c19102d3e0fe7312b25 (patch)
tree806511741f134866a4c7a8ee9ac83842466ddae4 /data
parent713219d4ab15caedf59ca169feddef0117b4e718 (diff)
Pretty print MonoVTable in xdebug.
Diffstat (limited to 'data')
-rw-r--r--data/gdb/mono-gdb.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/data/gdb/mono-gdb.py b/data/gdb/mono-gdb.py
index b53f197cad5..793d83464c7 100644
--- a/data/gdb/mono-gdb.py
+++ b/data/gdb/mono-gdb.py
@@ -280,6 +280,19 @@ class MonoMethodRgctxPrinter:
inst_str = inst_str + type_printer.to_string ()
return "MRGCTX[%s, [%s]]" % (klass_printer.to_string(), inst_str)
+class MonoVTablePrinter:
+ "Print a MonoVTable structure"
+
+ def __init__(self, val):
+ self.val = val
+
+ def to_string(self):
+ vtable = self.val.dereference ()
+ klass = vtable ["klass"]
+ klass_printer = MonoClassPrinter (klass)
+
+ return "vtable(%s)" % (klass_printer.to_string ())
+
def lookup_pretty_printer(val):
t = str (val.type)
if t == "object":
@@ -302,6 +315,8 @@ def lookup_pretty_printer(val):
return MonoGenericClassPrinter (val)
if t == "MonoMethodRuntimeGenericContext *":
return MonoMethodRgctxPrinter (val)
+ if t == "MonoVTable *":
+ return MonoVTablePrinter (val)
return None
def register_csharp_printers(obj):