GNU bug report logs -
#28392
26.0.50; gdb-mi runs into error with tramp
Previous Next
Reported by: Zhongwei Yao <ashi08104 <at> gmail.com>
Date: Fri, 8 Sep 2017 14:04:01 UTC
Severity: normal
Merged with 44151
Found in version 26.0.50
Fixed in version 27.3
Done: Michael Albinus <michael.albinus <at> gmx.de>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#28392: trmap: remote gdb with ssh doesn't work
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 44151 <at> debbugs.gnu.org.
--
28392: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=28392
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Version: 27.3
Jim Porter <jporterbugs <at> gmail.com> writes:
> Attached are patches to fix this in Emacs 27 and 28; they're
> essentially the same, but with slightly different contexts around the
> diff. I'm not sure if this is wanted for Emacs 27, but it's a small
> bugfix, and combined with my patch in bug#39408 (and the GNU ELPA
> version of Tramp to fix bug#44151), M-x gdb should work correctly for
> Tramp. For Emacs 28, this is the only outstanding issue (that I know
> of) preventing M-x gdb from working with Tramp.
>
> The problem here was that `gud-last-frame', set in
> `gdb-frame-handler', expects a local file path, so the full Tramp path
> was confusing it.
Pushed to both the emacs-27 and master branch. Closing the bug.
I don't know whether there will be an Emacs 27.3, but it doesn't hurt to
push the fix, I believe.
Best regards, Michael.
[Message part 3 (message/rfc822, inline)]
Hi,
I tried to run the debug remote program with gdb via ssh. I followed the
instructions from the [[info:tramp#Remote processes][info:tramp#Remote processes]]:
,----
| 5.5.5 Running a debugger on a remote host
| -----------------------------------------
|
| ‘gud.el’ provides a unified interface to symbolic debuggers (*note
| (emacs)Debuggers::). TRAMP can run debug on remote hosts by calling
| ‘gdb’ with a remote file name:
|
| M-x gdb <RET>
| Run gdb (like this): gdb -i=mi /ssh:host:~/myprog <RET>
`----
However, after the program to debug is read, it looks like there is some
error setting up gdb's inferior tty?
---------------------------------8<-------------------------------------
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /home/wx/tmp/a.out...
Debugger entered--Lisp error: (wrong-type-argument "consp nil")
signal(wrong-type-argument ("consp nil"))
tramp-signal-hook-function(wrong-type-argument (consp nil))
signal(wrong-type-argument (consp nil))
tramp-sh-handle-make-process(:name "gdb-inferior" :buffer #<buffer limbo<3>> :command nil :stderr nil :noquery nil :file-handler t)
apply(tramp-sh-handle-make-process (:name "gdb-inferior" :buffer #<buffer limbo<3>> :command nil :stderr nil :noquery nil :file-handler t))
tramp-sh-file-name-handler(make-process :name "gdb-inferior" :buffer #<buffer limbo<3>> :command nil :stderr nil :noquery nil :file-handler t)
apply(tramp-sh-file-name-handler make-process (:name "gdb-inferior" :buffer #<buffer limbo<3>> :command nil :stderr nil :noquery nil :file-handler t))
tramp-file-name-handler(make-process :name "gdb-inferior" :buffer #<buffer limbo<3>> :command nil :stderr nil :noquery nil :file-handler t)
tramp-handle-start-file-process("gdb-inferior" #<buffer limbo<3>> nil)
apply(tramp-handle-start-file-process ("gdb-inferior" #<buffer limbo<3>> nil))
tramp-sh-file-name-handler(start-file-process "gdb-inferior" #<buffer limbo<3>> nil)
apply(tramp-sh-file-name-handler start-file-process ("gdb-inferior" #<buffer limbo<3>> nil))
tramp-file-name-handler(start-file-process "gdb-inferior" #<buffer limbo<3>> nil)
apply(tramp-file-name-handler start-file-process "gdb-inferior" #<buffer limbo<3>> nil nil)
start-file-process("gdb-inferior" #<buffer limbo<3>> nil)
apply(start-file-process "gdb-inferior" #<buffer limbo<3>> nil nil)
comint-exec-1("gdb-inferior" #<buffer limbo<3>> nil nil)
comint-exec(#<buffer limbo<3>> "gdb-inferior" nil nil nil)
make-comint-in-buffer("gdb-inferior" #<buffer limbo<3>> nil)
gdb-inferior-io-mode()
gdb-get-buffer-create(gdb-inferior-io)
gdb-init-1()
gdb-update()
gdb("gdb -i=mi /ssh:wx <at> SERVER:/home/wx/tmp...")
funcall-interactively(gdb "gdb -i=mi /ssh:wx <at> SERVER:/home/wx/tmp...")
call-interactively(gdb record nil)
command-execute(gdb record)
execute-extended-command(nil "gdb" nil)
funcall-interactively(execute-extended-command nil "gdb" nil)
call-interactively(execute-extended-command nil nil)
command-execute(execute-extended-command)
---------------------------------8<-------------------------------------
I tested it with `-Q' by building the latest emacs in the git:
GNU Emacs 28.0.50 (build 1, x86_64-apple-darwin18.7.0, NS appkit-1671.60 Version 10.14.6 (Build 18G6032)) of 2020-10-22
--
William
This bug report was last modified 4 years and 24 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.