From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: lldb support Date: Sat, 12 Nov 2016 09:47:17 +0200 Message-ID: <83oa1lcf7e.fsf@gnu.org> References: <20161107150552.20e98985@jabberwock.cb.piermont.com> <20161107220815.606cd583@jabberwock.cb.piermont.com> <6c239d49-a92c-1495-7121-4808295a4fc2@dancol.org> <20161109205724.02e086af@jabberwock.cb.piermont.com> <83h97gf19d.fsf@gnu.org> <83fumzfhtv.fsf@gnu.org> <8337izfe1z.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1478936899 14174 195.159.176.226 (12 Nov 2016 07:48:19 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 12 Nov 2016 07:48:19 +0000 (UTC) Cc: dancol@dancol.org, emacs-devel@gnu.org, rms@gnu.org, perry@piermont.com To: Toon Claes Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Nov 12 08:48:12 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c5T29-0006BE-TS for ged-emacs-devel@m.gmane.org; Sat, 12 Nov 2016 08:47:30 +0100 Original-Received: from localhost ([::1]:57134 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c5T2B-0005c6-BC for ged-emacs-devel@m.gmane.org; Sat, 12 Nov 2016 02:47:31 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40339) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c5T24-0005bq-KJ for emacs-devel@gnu.org; Sat, 12 Nov 2016 02:47:25 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c5T20-0003Jr-IU for emacs-devel@gnu.org; Sat, 12 Nov 2016 02:47:24 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:59689) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c5T20-0003Jn-F1; Sat, 12 Nov 2016 02:47:20 -0500 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:3053 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1c5T1q-0003RU-T1; Sat, 12 Nov 2016 02:47:11 -0500 In-reply-to: (message from Toon Claes on Sat, 12 Nov 2016 08:04:39 +0100) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:209353 Archived-At: > From: Toon Claes > Cc: perry@piermont.com, dancol@dancol.org, rms@gnu.org, emacs-devel@gnu.org > Date: Sat, 12 Nov 2016 08:04:39 +0100 > > > Doesn't lldb-mi accept the --interpreter=mi argument on its command > > line? That would be strange, since it's supposed to be a > > compatibility shim, and is advertised to work with Eclipse. > > Yes, it does support the argument, but gdb-mi.el does not seem to > recognize it. What do you mean by "doesn't recognize"? gdb-mi.el doesn't look at the invocation command, it looks at the 1st response returned by the debugger. See the function gdb--check-interpreter in gdb-mi.el. Evidently, the response produced by lldb-mi doesn't match the criteria there. Can you look at the value of 'string' in that function and tell what it is? > > If you disable this test in gdb-mi.el, do you get better results? > > These are the errors I am getting when trying to set a breakpoint and > running the process. > > Command: break hello.swift:19 > Command: -exec-run > Driver. Received command '5-file-list-exec-source-files'. It was not handled. Command 'file-list-exec-source-files' not in Command Factory > Driver. Received command '6-file-list-exec-source-file'. It was not handled. Command 'file-list-exec-source-file' not in Command Factory > Command 'stack-info-frame'. Invalid process during debug session > Driver. Received command '10-break-list'. It was not handled. Command 'break-list' not in Command Factory > Driver. Received command '12-break-list'. It was not handled. Command 'break-list' not in Command Factory > Driver. Received command '14-break-list'. It was not handled. Command 'break-list' not in Command Factory > Driver. Received command '16-break-list'. It was not handled. Command 'break-list' not in Command Factory > Driver. Received command '18-break-list'. It was not handled. Command 'break-list' not in Command Factory I guess lldb-mi is not yet up to speed in its support of the MI protocol, if it doesn't even support the basic MI input syntax and/or the '-break-list' command. The description of the MI protocol input (in the GDB manual) clearly says that an MI command has the following formal syntax: 'MI-COMMAND ==>' '[ TOKEN ] "-" OPERATION ( " " OPTION )* [ " --" ] ( " " PARAMETER )* NL' So it looks like lldb-mi either didn't implement the TOKEN part, or doesn't yet support the '-break-list' command itself. This TOKEN part is very important for the front-end to know which response of the debugger corresponds to which front-end command. And '-break-list' is, of course, a very important command. Perhaps consider reporting this to the lldb-mi developers, as these are significant omissions, and make the tool not very useful with front-ends, to say the least.