# # hooks for gdb: # (gdb) source ./scripts/dbg.gdb.py # # # dbgerr class DbgErr(gdb.Command): """Decode littlefs error codes. See -h/--help for more info.""" def __init__(self): super().__init__("dbgerr", gdb.COMMAND_DATA, gdb.COMPLETE_EXPRESSION) def invoke(self, args, *_): args = args.split() # find nonflags nonflags = [] for i, a in enumerate(args): if not a.startswith('-'): nonflags.append(i) # parse and eval for i, n in enumerate(nonflags): try: args[n] = '%d' % gdb.parse_and_eval(args[n]) except gdb.error as e: raise gdb.GdbError(e) # execute gdb.execute(' '.join(['!./scripts/dbgerr.py'] + args)) DbgErr() # dbgflags class DbgFlags(gdb.Command): """Decode littlefs flags. See -h/--help for more info.""" def __init__(self): super().__init__("dbgflags", gdb.COMMAND_DATA, gdb.COMPLETE_EXPRESSION) def invoke(self, args, *_): args = args.split() # find nonflags nonflags = [] for i, a in enumerate(args): if not a.startswith('-'): nonflags.append(i) # parse and eval for i, n in enumerate(nonflags): try: args[n] = '%d' % gdb.parse_and_eval(args[n]) except gdb.error as e: raise gdb.GdbError(e) # execute gdb.execute(' '.join(['!./scripts/dbgflags.py'] + args)) DbgFlags() # dbgtag class DbgTag(gdb.Command): """Decode littlefs tags. See -h/--help for more info.""" def __init__(self): super().__init__("dbgtag", gdb.COMMAND_DATA, gdb.COMPLETE_EXPRESSION) def invoke(self, args, *_): args = args.split() # find nonflags nonflags = [] for i, a in enumerate(args): if not a.startswith('-'): nonflags.append(i) # parse and eval for i, n in enumerate(nonflags): try: args[n] = '%d' % gdb.parse_and_eval(args[n]) except gdb.error as e: raise gdb.GdbError(e) # execute gdb.execute(' '.join(['!./scripts/dbgtag.py'] + args)) DbgTag()