projects
/
mono.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
713219d
)
Pretty print MonoVTable in xdebug.
author
Zoltan Varga
<vargaz@gmail.com>
Mon, 14 Mar 2011 22:09:06 +0000
(23:09 +0100)
committer
Zoltan Varga
<vargaz@gmail.com>
Wed, 16 Mar 2011 13:43:25 +0000
(14:43 +0100)
data/gdb/mono-gdb.py
patch
|
blob
|
history
diff --git
a/data/gdb/mono-gdb.py
b/data/gdb/mono-gdb.py
index b53f197cad523423f23bd2ff84ac99534a00742d..793d83464c77521975d76854d63711758077d608 100644
(file)
--- 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)
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":
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)
return MonoGenericClassPrinter (val)
if t == "MonoMethodRuntimeGenericContext *":
return MonoMethodRgctxPrinter (val)
+ if t == "MonoVTable *":
+ return MonoVTablePrinter (val)
return None
def register_csharp_printers(obj):
return None
def register_csharp_printers(obj):