import gdb.printing from .vector import KstdVectorPrinter from .string import KstdStringPrinter from .std_types import StdBytePrinter def build_pretty_printers(): pp = gdb.printing.RegexpCollectionPrettyPrinter("kstd") pp.add_printer("vector", "^kstd::vector<.*>$", KstdVectorPrinter) pp.add_printer("string", "^kstd::string$", KstdStringPrinter) pp.add_printer("std_byte", "^std::byte$", StdBytePrinter) return pp def register_printers(objfile): gdb.printing.register_pretty_printer(objfile, build_pretty_printers(), replace=True)