diff --git a/third_party/machinarium/gdb/machinarium-gdb.py b/third_party/machinarium/gdb/machinarium-gdb.py index fdb64f10..a299dd97 100644 --- a/third_party/machinarium/gdb/machinarium-gdb.py +++ b/third_party/machinarium/gdb/machinarium-gdb.py @@ -489,8 +489,25 @@ Example: self._execute_in_coroutine_context(thread, coro, gdbcmd) +class IgnoreErrorsCmd (gdb.Command): + """Execute a single command, ignoring all errors. +Only one-line commands are supported. +This is primarily useful in scripts.""" + + def __init__ (self): + super (IgnoreErrorsCommand, self).__init__ ("ignore-errors", + gdb.COMMAND_OBSCURE, + # FIXME... + gdb.COMPLETE_COMMAND) + + def invoke (self, arg, from_tty): + try: + gdb.execute (arg, from_tty) + except: + pass + MMCoroutines() MMCoroutineCmd() - +IgnoreErrorsCmd () gdb.write('done.\n', stream=gdb.STDLOG)