On July 30, 2017 6:30:04 AM GMT+03:00, Zachary Turner <ztur...@google.com> wrote: > 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@lists.llvm.org> wrote: > > > > Date: Sat, 29 Jul 2017 22:43:59 +0200 > > > Cc: lldb-dev@lists.llvm.org > > > From: Jan Kratochvil via lldb-dev <lldb-dev@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@lists.llvm.org > > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev > >
Last time I tried, it wasn't "reasonable" enough to start debugging a program under Emacs. See this discussion for details: http://lists.llvm.org/pipermail/llvm-dev/2016-December/108512.html The failed commands it shows are the initial ones issued by Emacs when a debugging session starts. Without support of these commands in lldb-mi there's no hope for any practical debugging using lldb. If llvm developers could implement those minimal commands, maybe the rest would be easier. _______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev