From: Bob Rossi <bob@brasko.net>
To: Nick Roberts <nickrob@snap.net.nz>, gdb-patches@sources.redhat.com
Subject: Re: [PATCH] Hooks still needed for annotations
Date: Sat, 04 Jun 2005 13:02:00 -0000 [thread overview]
Message-ID: <20050604130228.GA24976@white> (raw)
In-Reply-To: <20050603235923.GA9992@nevyn.them.org>
On Fri, Jun 03, 2005 at 07:59:24PM -0400, Daniel Jacobowitz wrote:
> On Sat, Jun 04, 2005 at 10:33:58AM +1200, Nick Roberts wrote:
> >
> > > > I don't currently use breakpoints-invalid but I might wish to at one
> > > > stage. I want to ensure that annotations aren't quietly removed by
> > > > dismantling them bit by bit.
> > >
> > > If that's what you want to accomplish, your patch should include test
> > > cases for these annotations. Otherwise they're likely to be "cleaned
> > > up". Also, please do not comment out code; if it's wrong, it should be
> > > deleted.
> >
> > I left the comment there to try to prevent them being removed again. If
> > I remove then I would also like to remove the deprecated prefix for the
> > two hooks.
>
> They are deprecated. I believe there's a clear consensus that the
> entire annotation system is going to go, and in the near future. Just
> not yet.
I hope that the annotations can stay until Nick and I, along with the
Apple and Eclipse people think that the MI is stable and ready for use.
For instance, I know that the Apple guys have patched MI in order for
there parser to know when it is recieving an asyncronous command. I
haven't got that far, but would like to see such a think in the FSF GDB.
Also, last time I looked at Eclipse's source code, they were still using
a hybrid GDB/CLI implementation because MI simply didn't support all of
the features that they are using.
Also, I think it's reasonable to say that GDB should have a parser that
FE's can use. The only way to have a parser that can be tested properly
is to allow it to be packaged and tested in GDB's testsuite. Otherwise,
if the annotations are removed, FE's like GVD, XXGDB, DDD, KGDB, ...
are either going to "go the way of the bison" or they are going to have
to write code that handles GDB/MI. Do we really want 5-10 GDB/MI
parser's out there (each with there own bugs)?
> The way to prevent them from being removed again is to add test cases.
>
> > The point about keeping them is that they can be used for event notification
> > in MI (Tue, 8 Feb 2005 10:14:31 +1300).
> >
> > Th manual says:
> >
> > > `ASYNC-CLASS ==>'
> > > `"stopped" | OTHERS' (where OTHERS will be added depending on the
> > > needs--this is still in development).
> >
> > I do not have enough knowldege of GDB to work out when breakpoint information
> > changes in the code. So I would like to use the calls to breakpoints_changed
> > (breakpoints-invalid) to do this and generate MI output:
> >
> > =breakpoint-changed,BreakpointTable={nr_rows...
>
> I don't know enough about MI yet to know if this is the right way to do
> that. I don't think it is.
>
> - Certainly we should not be outputting the whole breakpoint table.
> We'd want a way to represent the changes.
Yeah, this is a good point. If we follow the annotations route, we could
just alert the FE that the breakpoints have changed and then force them
to get the new list.
The wierd thing is, there is situations in GDB with annotations where
GDB just spews out breakpoints-invalid over and over and over again. It
creates a lot of I/O and is a source of trouble. I believe this happens
when part of the code you are stepping though was not compiled with
debug?
> - Breakpoints changing is not an asynchronous event. Stopped is an
> async event; breakpoint-deleted is a synchronous event, even if it
> comes from the user typing in a console window.
It fits much nicer into the asyncronous case that nick posted. If
we want to make it syncronous then I think there would have to be a
change to the MI protocol.
output ==>
( out-of-band-record )* [ result-record ] [ status-update ] "(gdb)" nl
Thanks,
Bob Rossi
next prev parent reply other threads:[~2005-06-04 13:02 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-01 7:15 Nick Roberts
2005-06-01 11:30 ` Bob Rossi
2005-06-01 21:31 ` Nick Roberts
2005-06-03 19:09 ` Daniel Jacobowitz
2005-06-03 22:35 ` Nick Roberts
2005-06-03 23:59 ` Daniel Jacobowitz
2005-06-04 3:19 ` Nick Roberts
2005-07-03 17:03 ` Daniel Jacobowitz
2005-07-03 22:13 ` Nick Roberts
2005-07-03 22:44 ` Daniel Jacobowitz
2005-06-04 13:02 ` Bob Rossi [this message]
2005-06-13 3:14 ` Daniel Jacobowitz
2005-06-15 15:52 ` Bob Rossi
2005-06-15 16:07 ` Daniel Jacobowitz
2005-06-15 16:31 ` Bob Rossi
2005-07-03 16:45 ` Daniel Jacobowitz
2005-06-15 23:07 ` Nick Roberts
2005-06-15 23:29 ` Bob Rossi
2005-07-01 0:21 ` Bob Rossi
2005-07-01 1:18 ` Nick Roberts
2005-06-06 21:57 ` Nick Roberts
2005-06-10 2:26 ` Bob Rossi
2005-06-10 3:25 ` Nick Roberts
2005-06-15 15:24 ` Bob Rossi
2005-06-15 21:38 ` Nick Roberts
2005-06-15 22:58 ` Bob Rossi
2005-07-03 16:39 ` Daniel Jacobowitz
2005-07-06 15:03 ` Bob Rossi
2005-07-15 0:03 ` Daniel Jacobowitz
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=20050604130228.GA24976@white \
--to=bob@brasko.net \
--cc=gdb-patches@sources.redhat.com \
--cc=nickrob@snap.net.nz \
/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