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

Jan Kratochvil via lldb-dev lldb-dev at lists.llvm.org
Sat Jul 29 13:43:59 PDT 2017


On Sat, 29 Jul 2017 21:59:03 +0200, ylluminate via lldb-dev wrote:
> And one thread seems to indicate that if if we could "convince LLDB
> developers to provide

> a decent implementation of the GDB/MI protocol,

That is an oxymoron.

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.

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).


Jan


More information about the lldb-dev mailing list