From fb09cd6633b26ef2cfb4f21b8cd852611cfe59d8 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Thu, 7 May 2026 12:17:01 +0200 Subject: debug: add support for kstd::observer_ptr --- libs/kstd/gdb/smart_pointers.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'libs/kstd/gdb/smart_pointers.py') diff --git a/libs/kstd/gdb/smart_pointers.py b/libs/kstd/gdb/smart_pointers.py index b94d466..f6e8a45 100644 --- a/libs/kstd/gdb/smart_pointers.py +++ b/libs/kstd/gdb/smart_pointers.py @@ -49,3 +49,20 @@ class KstdSharedPtrPrinter(gdb.ValuePrinter): def display_hint(self): return None + + +class KstdObserverPtrPrinter(gdb.ValuePrinter): + def __init__(self, val): + self.__val = val + self.__type = val.type.template_argument(0) + self.__pointer = val["m_ptr"] + + def to_string(self): + return f"{(self.__pointer)}" + + def children(self): + if int(self.__pointer) != 0: + yield ("get()", self.__pointer.dereference()) + + def display_hint(self): + return None -- cgit v1.2.3