diff options
Diffstat (limited to 'kapi/gdb/__init__.py')
| -rw-r--r-- | kapi/gdb/__init__.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/kapi/gdb/__init__.py b/kapi/gdb/__init__.py new file mode 100644 index 0000000..1b36753 --- /dev/null +++ b/kapi/gdb/__init__.py @@ -0,0 +1,35 @@ +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, + ) + pp.add_printer( + "kapi_boot_modules_boot_module_registry", + "^kapi::boot_modules::boot_module_registry$", + KapiBootModulesBootModuleRegistryPrinter, + ) + return pp + + +def register_printers(objfile): + gdb.printing.register_pretty_printer(objfile, build_pretty_printers(), replace=True) |
