Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: "Alain Magloire" <alain@qnx.com>
To: bob@brasko.net (Bob Rossi)
Cc: ezannoni@redhat.com (Elena Zannoni), gdb@sources.redhat.com
Subject: Re: vast numbers of unimplemented MI commands.
Date: Thu, 18 Sep 2003 15:30:00 -0000	[thread overview]
Message-ID: <200309181530.LAA12429@smtp.ott.qnx.com> (raw)
In-Reply-To: <20030911031111.GG17937@white> from "Bob Rossi" at Sep 10, 2003 11:11:12 PM

> 
> Hi,
> 
> I guess this seems ok, I just hate to see stuff like this.
> 
>    But if you can come up with a clean Interface(set of methods) of
>    what you need we could work things and put it in the CDI and implement
>    it in the GDB/MI plugin.  The annoying thing is that GDB/MI does not
>    have any "mi" command for this, so we will have to send "cli" command
>    and do weird parsing on the output.
> 
> from the eclipse mailing lists. Seeing this makes me think that the
> whole community is not understanding that we need to have clean
> interfaces between GDB and the front ends. 
> 

Amen to that!!

> Developers that find a "missing hole" in GDB, don't seem to have the
> desire to fix the hole when they can easily find a work around.
> IMO, most developers don't have enough time to fix there own
> front end and then go fix the debugger there integrating with.

I hear you !!! 8-)

> I think GDB should support a proper MI interface for front ends, and
> thats the only way front ends should be able to communicate with it.
> Adding the -interpreter console was probably the main cause in allowing
> front ends to cheat there way past the MI interface.
> 

Agreed, but not for the same reasons.  We do not use the "-interpreter-exec console"
because it turns out to be useless.  The first attempt was to satisfy the CLI users
within the IDE, so a prompt was given.  But the problem is to synchronize the IDE,
let see a scenario, the "show":

- scenario 1 (show):

# gdb -i mi hello
...
(gdb)
show auto-solib
&"show auto-solib\n"
^done,value="on"
(gdb)

The problem here, and with many other commands, is that the information is return in MI jargon
only,  so the user will not see it.  To do this correctly we would need a cli interpreter 
that will pretty print the output of any commands(no fun job, knowin the annoying cli syntax of gdb).


- scenario 2 (show/next):

The problem is reverse when doing -interpreter-exec, the information not is not in MI,
this is illustrate when doing a "next"

(gdb)
-interpreter-exec console next
~"41\t\tchar array[2][2] = { 'a', 'b', 'c'};\n"
^done
(gdb)

The front-end fall out of step with gdb and no longer has relevant information.
However doing CLI without -interpreter-exec is good.

(gdb)
next
&"next\n"
^done,reason="end-stepping-range",thread-id="0",frame={addr="0x0804846e",func="main",args=[{name="argc",value="1"},{name="argv",value="0xbfffeb54"}],file="hello.c",line="40"}
(gdb)

The front-end can keep up.

> The problem is, every *real* world front end to GDB is doomed to end up
> using a mix of MI commands and CLI commands. If GDB is ever released
> in such a way that the CLI output is changed, all existing front ends
> will break. Including the ones that use MI.
> 
> What is the best solution? ...
> 

Good question.  Although I like to complain 8-)
The move toward MI is a good one, it is much cleaner, kudos to gdb folks.



  parent reply	other threads:[~2003-09-18 15:30 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-11  2:04 Bob Rossi
2003-09-11  2:48 ` Elena Zannoni
2003-09-11  3:11   ` Bob Rossi
2003-09-11 14:37     ` Joel Brobecker
2003-09-11 15:40       ` Joel Brobecker
2003-09-18 15:30     ` Alain Magloire [this message]
2003-09-11 14:37   ` Andrew Cagney
     [not found] <1063899004.27567.ezmlm@sources.redhat.com>
2003-09-18 17:10 ` Jim Ingham
2003-09-19 14:50   ` Alain Magloire
     [not found] <200309191450.KAA18645@smtp.ott.qnx.com>
2003-09-19 17:44 ` Jim Ingham
2003-09-19 18:36   ` Andrew Cagney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200309181530.LAA12429@smtp.ott.qnx.com \
    --to=alain@qnx.com \
    --cc=bob@brasko.net \
    --cc=ezannoni@redhat.com \
    --cc=gdb@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox