From e8f89da9e7fd09d086bf6294e90506c9bc334ccb Mon Sep 17 00:00:00 2001 From: reshke Date: Tue, 30 Jul 2024 11:34:30 +0500 Subject: [PATCH] Update machinarium-gdb.py: add ignore-errors (#643) --- .../machinarium/gdb/machinarium-gdb.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) 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)