import gdb class PointPrinter: "Print a Point" def __init__(self, val): self.val = val self.x = int(val["x"]) self.y = int(val["y"]) def to_string(self): return "({}, {})".format(self.x, self.y) def lookup(val): lookup_tag = val.type.tag if lookup_tag is None: return None if "embedded_visualizer::point::Point" == lookup_tag: return PointPrinter(val) return None gdb.current_objfile().pretty_printers.append(lookup)