From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Michael Albinus Newsgroups: gmane.emacs.bugs Subject: bug#23608: 24.5; Breakpoints don't show in GDB over TRAMP Date: Mon, 22 Aug 2016 20:15:30 +0200 Message-ID: <87d1l0k6v1.fsf@gmx.de> References: <20160524083525.GA27607@waxworlds.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1471889784 13367 195.159.176.226 (22 Aug 2016 18:16:24 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 22 Aug 2016 18:16:24 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) Cc: 23608@debbugs.gnu.org To: Tim Marston Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Aug 22 20:16:19 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1bbtli-0003AO-9J for geb-bug-gnu-emacs@m.gmane.org; Mon, 22 Aug 2016 20:16:18 +0200 Original-Received: from localhost ([::1]:42648 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bbtlf-0004u8-Fp for geb-bug-gnu-emacs@m.gmane.org; Mon, 22 Aug 2016 14:16:15 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47812) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bbtlW-0004sb-LE for bug-gnu-emacs@gnu.org; Mon, 22 Aug 2016 14:16:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bbtlS-0005md-Ac for bug-gnu-emacs@gnu.org; Mon, 22 Aug 2016 14:16:05 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:39425) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bbtlS-0005mS-6u for bug-gnu-emacs@gnu.org; Mon, 22 Aug 2016 14:16:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1bbtlR-00072u-UK for bug-gnu-emacs@gnu.org; Mon, 22 Aug 2016 14:16:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Michael Albinus Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 22 Aug 2016 18:16:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 23608 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 23608-submit@debbugs.gnu.org id=B23608.147188974027055 (code B ref 23608); Mon, 22 Aug 2016 18:16:01 +0000 Original-Received: (at 23608) by debbugs.gnu.org; 22 Aug 2016 18:15:40 +0000 Original-Received: from localhost ([127.0.0.1]:37137 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bbtl6-00072J-6O for submit@debbugs.gnu.org; Mon, 22 Aug 2016 14:15:40 -0400 Original-Received: from mout.gmx.net ([212.227.15.15]:59144) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bbtl4-000726-Kr for 23608@debbugs.gnu.org; Mon, 22 Aug 2016 14:15:39 -0400 Original-Received: from detlef.gmx.de ([87.146.38.219]) by mail.gmx.com (mrgmx002) with ESMTPSA (Nemesis) id 0Lmr1w-1axMwp1xym-00h8WQ; Mon, 22 Aug 2016 20:15:31 +0200 In-Reply-To: <20160524083525.GA27607@waxworlds.org> (Tim Marston's message of "Tue, 24 May 2016 09:35:25 +0100") X-Provags-ID: V03:K0:FUIJB6XlfEkRMhKnQpmJs5tATGiwPSxd+0CvZWYjSQ+OWA0UWqN F5WtN+ihVlbna5K5/k1HX0wcIhV3XB34pzPDG5DfrhkwMC5rOaEG3qycaNCZM0Pa62Hl/rr A6yeXFftd/uj5deIN4a/W4pt6xxX3uFyA3IgMIoO275IzJaseZjqBUDdFDx6xF9PCk3Yzij KKtPbrLsq/UUIX4e3CSCw== X-UI-Out-Filterresults: notjunk:1;V01:K0:L4pkUtSdgXY=:7myXwMNENh+ZW1/TPtIrqb CmE9wM0p3qfITOSsEF81bwMYNNeA61cKvk6wJLCazCMB5wATWRCi0/l5Cr8eJSp7d2pg9ZNI9 4Va+O97ay1lt0AoiKEzhgmENDQbWFS2nGRBbPzLgzfdhcD1V87bRyVNq94f1FlQTi6DdMP8Sj CfEfq/4S0X5yr6bzNX6ahIeNxwqk+x3OB43k9kBerrwbNJNr/gNcxqtv+7hoHd1Oq8De1ROH6 KLiLkK5Ep3WhZ9lQweNZOxHKDBYWsdrm5HoZ2PwtEzzpt8U0DgMFCm9U5pvfmAHsgOVplU9cF yBqa0jgGFijGGDNgb3wuYmKqSmL0Xqo+DqOhUHZJGom1cyCDVbgUwALOpSpREETiT5nua8hUh xDuOSC+gQsZX3QcVX7k02ORqe/sZTTe43HddYVULn7dU+dE71HEZNtA9r6pD/2UoY/VpoQaZu Weka5+ERQ6XJymHNQ3EecCf84T4iLdPmlud0LNZ6TYuvZ0a/3rBdIt+3tbyvSFO6QaZF+JtvX i/m4O8goyqEbpEInXGruGwI/9zANdDz8DzAKjZrErPFjaOvDweKgSPdYvglZfHyZJ9rAlbk2H JMMRNA4w2KbaBMFX8oysOh1b0GkK9iaRdHJkB2SkPVjs2Zh+ME6B9CTpCDV/cEx6/b5BZW1SC Zt67or86ZWeSRQnbm+yWTqjxSkwR1k0QTEdaPtej5KFoAPsAttHHal+vFZKpbOpyAq5X7qWmQ XJTm5nQsKLTxZkXeg6afjildUM6pm96VLZMGAgKkryCGvdn0FgTiNUAI3fgcV76S2gWt7RfC X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:122514 Archived-At: Tim Marston writes: > Hi, Hi Tim, > I've noticed that breakpoints don't show up in the source code when > running GDB over TRAMP. It's quite reproducible. > > Steps to reproduce: > > 1/ run emacs > $ emacs -q > > 2/ visit a some remote source code > C-x C-f /laptop:/home/edam/src/lang/c++/hello-world/hw.cc > > 3/ run GDB > M-x gdb RET RET > > 4/ switch back to source code window > C-x b RET > > 5/ add breakpoint > C-x C-a C-b Thanks for the proper recipe! > What happens: > > The breakpoint doesn't show up in the source code buffer. When you run > the program, the breakpoint still works. And when the program "breaks > out", you get a current line indicator, showing you where execution is > at. But no breakpoint. gdb-mi.el retrieves file names from the running (remote) gdb process. Obviously, this process cannot know remote (Tramp) file names. I've committed the following fix to Emacs master: --8<---------------cut here---------------start------------->8--- *** /home/albinus/src/emacs/lisp/progmodes/gdb-mi.el.~c1b5000d8c484d7acd39414119838c78eaaf9cca~ 2016-08-22 20:04:45.263775082 +0200 --- /home/albinus/src/emacs/lisp/progmodes/gdb-mi.el 2016-08-22 19:58:33.826031791 +0200 *************** *** 2661,2668 **** If FIX-LIST is non-nil, \"FIX-LIST={..}\" is replaced with \"FIX-LIST=[..]\" prior to parsing. This is used to fix broken -break-info output when it contains breakpoint script field ! incompatible with GDB/MI output syntax." (save-excursion (goto-char (point-min)) (when fix-key (save-excursion --- 2661,2675 ---- If FIX-LIST is non-nil, \"FIX-LIST={..}\" is replaced with \"FIX-LIST=[..]\" prior to parsing. This is used to fix broken -break-info output when it contains breakpoint script field ! incompatible with GDB/MI output syntax. ! ! If `default-directory' is remote, full file names are adapted accordingly." (save-excursion + (let ((remote (file-remote-p default-directory))) + (when remote + (goto-char (point-min)) + (while (re-search-forward "[\\[,]fullname=\"\\(.+\\)\"" nil t) + (replace-match (concat remote "\\1") nil nil nil 1)))) (goto-char (point-min)) (when fix-key (save-excursion --8<---------------cut here---------------end--------------->8--- Could you, pls, check whether this works for you? I would also be interested in any undesired side effect, since I couldn't test this extensively. > Tim Marston > ed.am Best regards, Michael.