This is the mail archive of the
mailing list for the GDB project.
Re: enable a couple of useful cli commands in async mode.
A Friday 14 March 2008 14:35:40, Daniel Jacobowitz wrote:
> On Fri, Mar 14, 2008 at 07:59:55AM +0000, Pedro Alves wrote:
> > This is needed to test/develop async with CLI. The info info command is
> > very useful to debug gdb itself, and the interrupt command is needed to
> > be able to SIGINT the target. Without it, the user is trapped in the
> > hole of wanting to quit, but gdb complaining "I can't do that Dave" while
> > the target is running. "stop" is there already, so I added break too,
> > although it doesn't work yet.
> > CLI command filtering this way is a gross hack that needs cleaning
> > up anyway. Since noone is using this currently, I went ahead and
> > installed as obvious.
> I'm confused by your choices. "stop" is not the command you think it
> is. There's a "stop_command" in breakpoint.c but that's the
> DBX-compatibility version of "break". The command "stop" doesn't
> do anything; it's only there for hook-stop.
I see. At first I thought it should do what interrupt does, but
then I saw the dbx compatibility version, and just assumed it was it.
(it was calling nothing, and I assumed it was because I didn't have dbx
mode on ...)
> Also, how can we enable "info"? That will let you type "info regs"
> while the target is running; does something produce a useful error
> further down?
It doesn't let you type info registers, because c->name is "registers"
in that case. It just let's you type "info". That is useful for the
hook that switches to the top gdb when debugging gdb in gdb.
> "interrupt" makes sense. In fact I think this is what whoever added
> "stop" actually meant to add.
Yeah. Want me to remove stop and breakpoint?
2008-03-14 Pedro Alves <email@example.com>
* top.c (execute_command): Disable break and stop
commands in async mode.
gdb/top.c | 2 --
1 file changed, 2 deletions(-)
--- src.orig/gdb/top.c 2008-03-14 15:30:28.000000000 +0000
+++ src/gdb/top.c 2008-03-14 15:30:38.000000000 +0000
@@ -405,8 +405,6 @@ execute_command (char *p, int from_tty)
if (strcmp (c->name, "help") != 0
&& strcmp (c->name, "pwd") != 0
&& strcmp (c->name, "show") != 0
- && strcmp (c->name, "stop") != 0
- && strcmp (c->name, "break") != 0
&& strcmp (c->name, "info") != 0
&& strcmp (c->name, "interrupt") != 0)
error (_("Cannot execute this command while the target is running."));