import gdb class KstdStringPrinter(gdb.ValuePrinter): def __init__(self, val): self.__val = val self.__data = val["m_data"] self.__length = val["m_length"] def to_string(self): if int(self.__length) <= 0: return '""' try: if hasattr(self.__data, "lazy_string"): return self.__data.lazy_string(encoding="utf-8", length=self.__length) return self.__data.string(encoding="utf-8", length=self.__length) except gdb.error: return "" def display_hint(self): return "string"