Formatting of function pointer value

Vladimir Prus ghost@cs.msu.su
Mon Jul 11 07:21:00 GMT 2005


Nick Roberts wrote:

>  > > It is a feature, not a bug.  Why is your frontend using the
>  > > command-line interface?
>  > 
>  > Well, the debugger part in KDevelop was not written by me, so I don't
>  > know why command-line interface, and not MI is used.
>  > 
>  > > DON'T do that!  Use MI nowadays, please please
>  > > please.
>  > 
>  > I'm sorry, but section 24 of gdb manual does not say why MI is better.
>  > Can you give the reasons?
> 
> CLI output is intended for the user.  It can change with a new release,
> and on the state of execution in ways which are not easy to anticipate
> without
> reading the source code.  Provided that it still makes sense, that is not
> a problem to the user but it can be to a frontend, if it is trying to
> parse the
> output in a very precise manner.  MI has a more formal syntax and so is
> not as
> variable.  Once it is fully developed, 

So it's not stable yet?

> its output should be stable and if 
> it does change, some backward compatibility will probably be maintained.

Ok, the the only advantage of MI is stable output format. Can you tell me
how it's achieved? 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, "} ");

As I right in assuming that exactly the same output will be produced for MI
mode and for CLI mode? If so, then how MI can be more stable than CLI, if
the output is the same?

- Volodya



More information about the Gdb mailing list