2024-03-10 15:57:35 +01:00

29 lines
512 B
Python

class mybsPrinter:
def __init__(self, val):
self.val = val
def to_string(self):
s = ""
char_ptr = gdb.lookup_type("char").pointer()
char_ptr_ptr = char_ptr.pointer()
v = self.val['v']
for i in range(0, v['element_count']):
s += (
str(
(
v['data'].cast(char_ptr_ptr)
+
i
).dereference()
)
+
", "
)
return s
def mylookup(val):
if str(val.type) == 'mybs':
return mybsPrinter(val)
return None
gdb.pretty_printers.append(mylookup)