1 from gdb import Command, COMMAND_USER
7 class LunadbgCommand(Command):
8 def __init__(self, name: str) -> None:
9 super().__init__(name, COMMAND_USER)
10 self._parser = argparse.ArgumentParser()
12 def _parse_args(self, gdb_argstr: str):
14 args, argv = self._parser.parse_known_args(shlex.split(gdb_argstr), None)
16 print('unrecognized arguments: %s'%(' '.join(argv)))
23 def invoke(self, argument: str, from_tty: bool) -> None:
25 parsed = self._parse_args(argument)
28 self.on_execute(parsed, argument, from_tty)
29 except Exception as e:
30 traceback.print_exception(e)
33 def on_execute(self, parsed, gdb_args, from_tty):
34 raise NotImplementedError()