Re: Formatting of function pointer value

Nick Roberts
2005-07-11T09:53:12Z

> > > Ok, the the only advantage of MI is stable output format.
> >
> > I've not said that. It also uses variable objects, it aims to be
> > asynchronous...
>
> Could you give more details? Basically, Daniel suggested that I use MI
> instead of CLI.

I think thats sound advice. If you use CLI for KDevelop (?) and then GDB
developers change the CLI output, it will break things for you and you'll have
wasted a lot of effort.

> I've asked about the reasons why I should, and if possible, I'd like to see
> all reasons, with a easy to understand descriptions.

I don't think you'll get that. GDB is a voluntary project. You just have
to work with what's available (or pay someone).

> For example, the term "variable objects" says nothing to me, and it's
> description:
>
> For the implementation of a variable debugger window (locals, watched
> expressions, etc.), we are proposing the adaptation of the existing code
> used by `Insight'.
>
> does not sched might light either.

I've learnt what I know about variable objects from using Insight, reading
the manual and looking at the source code. I still don't understand the
asynchronous operation which only works under limited conditions.

...
> > > For example, looking at the code that prints function values (what
> > > worries me in the first place):
> > >
> > > fprintf_filtered (stream, "{");
> > > type_print (type, "", stream, -1);
> > > fprintf_filtered (stream, "} ");
> >
> > I don't understand the point of the example.
>
> The point of the example is that this code seem to be executed both in MI
> and CLI modes. So, if '{' is changed to '(', it will equally affect MI and
> CLI, which makes me wonder why MI is more stable that CLI.

If you are going to generalise the whole of MI and CLI from this one very
small example, then I can see that it would make you wonder why MI is more
stable that CLI

> As you can see from my other post, the formatting of value is indeed the
> same for MI and CLI.

Yes, but you can easily parse the MI output and replace '{' with whatever
you want.

Nick