[lldb-dev] Emacs LLDB support & the GDB/MI Interface

Zachary Turner via lldb-dev lldb-dev at lists.llvm.org
Sat Jul 29 20:30:04 PDT 2017


Are we talking about some kind of mi support other than lldb's existing MI
interface? Afaik it works reasonably well (for some definition of
reasonably well), and is even used for example in msvc on windows to
support remote debugging of non windows targets.

That said, most lldb developers are paid by their company to work on
specific things that are important to their company's users, and emacs
support is probably not going to be that high up on the list.

So if you can figure out where the deficiencies are in the existing mi
implementation, patches are always welcome
On Sat, Jul 29, 2017 at 7:39 PM Eli Zaretskii via lldb-dev <
lldb-dev at lists.llvm.org> wrote:

> > Date: Sat, 29 Jul 2017 22:43:59 +0200
> > Cc: lldb-dev at lists.llvm.org
> > From: Jan Kratochvil via lldb-dev <lldb-dev at lists.llvm.org>
> >
> > MI protocol was designed to minimize the amount of data transferred
> between
> > gdb/lldb and a front end.  But this communication isn't anything
> expensive as
> > the debugger always runs on the same host as the frontend anyway
> > (gdb/lldb<->gdbserver link is for remote debugging).  Unfortunately
> complexity
> > of the GDB/MI protocol from this misoptimization leads to many bugs on
> both
> > sides of the implementation, for GDB:
> >
> https://sourceware.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=SUSPENDED&bug_status=WAITING&bug_status=REOPENED&component=mi&list_id=37310&product=gdb&query_format=advanced
> >       101 bugs found.
> >
> > The MI protocol in use does not conform to its spec as there is a
> bug-to-bug
> > compatibility instead such as:
> >       https://sourceware.org/ml/gdb-patches/2008-11/msg00275.html
> >
> > There still also isn't any reasonable MI library to be used by a front
> end.
>
> Correct or not, buggy or not, the Emacs support for GDB is based on
> MI, and it works reasonably well for the last few years.  So much so
> that Emacs developers have deprecated the previous GUD interface based
> on annotations (which are also deprecated by the GDB team).
>
> > I find the LLDB API to be a better choice to be used by the
> frontend/emacs
> > (I have only little but great experience with the LLDB API).
>
> Good luck with that attitude having LLDB support in Emacs any time
> soon.  Even supporting it via the ancient GUD, which required a couple
> of minor changes, was met with some resistance.  (Some think that this
> resistance was overcome, but IMO the jury is still out on that one,
> and we won't know the truth until an attempt to add that support is
> made in earnest.)
>
> Having LLDB support MI would solve this problem cleanly and
> seamlessly.  It's your call to decide whether Emacs support is
> important enough to you to do that.
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20170730/b0d6cd8f/attachment.html>


More information about the lldb-dev mailing list