import gdb.printing from .boot_modules import * from .devices import * from .memory import * def build_pretty_printers(): pp = gdb.printing.RegexpCollectionPrettyPrinter("kapi") pp.add_printer( "kapi_memory_address", "^kapi::memory::address<.*>$", KapiMemoryAddressPrinter ) pp.add_printer( "kapi_memory_chunk", "^kapi::memory::chunk<.*>$", KapiMemoryChunkPrinter ) pp.add_printer("kapi_memory_frame", "^kapi::memory::frame$", KapiMemoryFramePrinter) pp.add_printer("kapi_memory_page", "^kapi::memory::page$", KapiMemoryPagePrinter) pp.add_printer( "kapi_devices_device", "^kapi::devices::device$", KapiDevicesDevicePrinter ) pp.add_printer( "kapi_boot_modules_boot_module", "^kapi::boot_modules::boot_module$", KapiBootModulesBootModulePrinter, ) return pp def register_printers(objfile): gdb.printing.register_pretty_printer(objfile, build_pretty_printers(), replace=True)