This is the mail archive of the
frysk@sourceware.org
mailing list for the frysk project.
GDB interface: MI versus API or ??
- From: Rick Moseley <rmoseley at redhat dot com>
- To: frysk <frysk at sourceware dot org>
- Date: Mon, 14 Jul 2008 09:38:00 -0500
- Subject: GDB interface: MI versus API or ??
Hi all.
Last week I posed the question on the Eclipse cdt-dev list as to which
of the gdb interfaces were preferred for integrating with Eclipse CDT.
I have received 3 responses so far and here they are:
Elena Laskavaia:
"If you implement mi protocol it is less work on IDE side (just another
launch config), however mi does not support all commands and mi
integration use "CDI" (user gdb) commands too, which makes it ugly.
The other approach is to create another implementation of this layer for
your specific debugger, which would be more work but it may be more robust."
Marc Khouzam:
"The new DSF-based debugging frontend that can also be used with the CDT
also has an MI layer. If Frysk was to use the MI protocol, I think its
usage would be easier to implement for DSF.
Also, GDB is evolving the MI interface for such things as non-stop
debugging and multi-process debugging. So, MI has some effort being
put into it. I believe an API library would need to be defined from the
start, which seems to be more work, for Frysk and for DSF.
So, I think from an "amount of work" point-of-view, using MI is better.
From a "best technical solution" point-of-view, I don't have enough
experience to have an opinion."
Mikhail Khodjaiants:
"MI is definitely the easiest way to integrate a debugger into CDT. If
implemented it will be automatically picked up by existing CDI and DSF
gdb/MI debuggers.
But if the API library provides more functionality than MI it might be
worth to consider a direct integration using one of the existing
frameworks. But it would require a lot of work and resources."
From these responses it seems the MI is alive and well inside the
Eclipse CDT. Although it would seem to me the API approach would be
more robust/full-featured, there does not seem to be any
qualms/objections to using the MI protocol. If there are new features
being made to MI in the gdb community it might be the way to go if it
indeed fleshes out the functionality. We could implement the gdb MI
protocol and then add "Frysk extensions" to get the additional
functionality we require.
Anyways, there are the responses from the Eclipse CDT community so far,
what are your thoughts on the subject?
Rick