import gdb | |
class PersonPrinter: | |
"Print a Person" | |
def __init__(self, val): | |
self.val = val | |
self.name = val["name"] | |
self.age = int(val["age"]) | |
def to_string(self): | |
return "{} is {} years old.".format(self.name, self.age) | |
def lookup(val): | |
lookup_tag = val.type.tag | |
if lookup_tag is None: | |
return None | |
if "dependency_with_embedded_visualizers::Person" == lookup_tag: | |
return PersonPrinter(val) | |
return None | |
gdb.current_objfile().pretty_printers.append(lookup) |