diff options
author | Tom Tromey <tromey@adacore.com> | 2023-03-16 10:57:32 -0600 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2023-05-23 10:09:28 -0600 |
commit | c97d123d6701fbf462e96db001cea07ed32e4efa (patch) | |
tree | 7442dc14459bc1e8874998d219dda702371f380e /gdb/mi/mi-main.c | |
parent | e7a2797eb00dbbceb6796f1baa120055d174a229 (diff) | |
download | binutils-c97d123d6701fbf462e96db001cea07ed32e4efa.zip binutils-c97d123d6701fbf462e96db001cea07ed32e4efa.tar.gz binutils-c97d123d6701fbf462e96db001cea07ed32e4efa.tar.bz2 |
Implement gdb.execute_mi
This adds a new Python function, gdb.execute_mi, that can be used to
invoke an MI command but get the output as a Python object, rather
than a string. This is done by implementing a new ui_out subclass
that builds a Python object.
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=11688
Reviewed-By: Eli Zaretskii <eliz@gnu.org>
Diffstat (limited to 'gdb/mi/mi-main.c')
-rw-r--r-- | gdb/mi/mi-main.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c index b430115..f3b7490 100644 --- a/gdb/mi/mi-main.c +++ b/gdb/mi/mi-main.c @@ -1965,6 +1965,21 @@ mi_execute_command (const char *cmd, int from_tty) } } +/* See mi-cmds.h. */ + +void +mi_execute_command (mi_parse *context) +{ + if (context->op != MI_COMMAND) + error (_("Command is not an MI command")); + + scoped_restore save_token = make_scoped_restore (¤t_token, + context->token); + scoped_restore save_debug = make_scoped_restore (&mi_debug_p, 0); + + mi_cmd_execute (context); +} + /* Captures the current user selected context state, that is the current thread and frame. Later we can then check if the user selected context has changed at all. */ |