RE: [PATCH v2 00/25] Towards great frontend GDB consoles

Marc Khouzam
2016-03-21T18:35:02Z

> From: Pedro Alves [palves@redhat.com]
> Sent: March 21, 2016 11:20 AM
> To: gdb-patches@sourceware.org
> Cc: Marc Khouzam
> Subject: [PATCH v2 00/25] Towards great frontend GDB consoles
>
> Here's an update of the series I first posted here:
> https://sourceware.org/ml/gdb-patches/2016-02/msg00067.html
>
> New in v2:
>
> - The "Command line input handling TLC" patch [1] has since been split
> into a series of its own [2], and pushed in.
>
> [1] https://sourceware.org/ml/gdb-patches/2016-02/msg00070.html
> [2] https://sourceware.org/ml/gdb-patches/2016-02/msg00557.html
>
> - Currently, if GDB's (main) stdin closes, GDB exits. That logic
> carried over to secondary UIs as well, by mistake, so v1, if a
> secondary UI's terminal was closed, GDB would just exit as well...
> In v2, that's now detected, and GDB just discards the UI.
>
> - I noticed that if you typed something in a secondary UI, and then
> Ctrl-C'd the main UI, GDB would internal error. The problem was
> that nothing was making use async signal handlers (in this case,
> async_request_quit) always run on the main UI.
>
> - Added a convenience "info uis" command to list UIs.
>
> - Some cleanups here and there
>
> Force-pushed to users/palves/console at sourceware.org.

From the previous testing I did, and from the demo I gave,
your previous patches were already of very good quality.
Thank you for those.

Right now, there are only three issues that I can report.
They are present in v2.

1- The new-ui command should not be a repeating command

2- Using 'interpreter-exec mi" in the CLI console confuses GDB
To reproduce from a shell
- start GDB in CLI mode
- give a "new-ui mi" command to start an MI channel
- start running the inferior => *stopped/*running events are on the MI channel
- in the CLI send command interpreter-exec mi ""
- step or resume
=> *stopped/*running events are now on the CLI channel and not the MI one

3- Issues when using "set inferior-tty"
To reproduce from a shell
- start GDB in CLI mode
- give a "new-ui mi" command to start an MI channel
- use "set inferior-tty" to another tty (like eclipse does)
- in the MI channel, use -exec-run
=> the shell where GDB CLI is running no longer responds to input

Feel free to ask for any clarifications.

I'll be doing some more thorough testing using this feature with Eclipse, as the integration
is almost done. I'll communicate any other issues I find.

Thanks again!

Marc