From: William Xu <william.xwl@gmail.com>
To: help-gnu-emacs@gnu.org
Subject: Re: gdb mode with gdb command from the docker
Date: Thu, 22 Oct 2020 20:41:52 +0200 [thread overview]
Message-ID: <m2wnzi5ci7.fsf@gmail.com> (raw)
In-Reply-To: 83imb3muem.fsf@gnu.org
Eli Zaretskii <eliz@gnu.org> writes:
> No, this setting is needed to separate the I/O device of the process
> being debugged from that of GDB, so that we could redirect I/O of the
> debuggee to a dedicated buffer used by "M-x gdb" to show interaction
> with the program.
Can we at least add an option to disable the I/O separation, like
gdb-disable-io-redirection? So that one can still have a working gdb,
even if the I/O are mixed with gdb commands. So that I would still have
the nice features of gdb modes, with which I can set breakpoints, follow
line by line in the source buffer. That is already a huge improvement on
the plain terminal gdb.
In addition, I just noticed that tramp seems supporting such kind of
remote debugging, from [[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>
`----
Only that when trying it out with ssh method, I got an error after the
file is loaded. Should I report a bug for it?
---------------------------------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@SERVER:/home/wx/tmp...")
funcall-interactively(gdb "gdb -i=mi /ssh:wx@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<-------------------------------------
--
William
next prev parent reply other threads:[~2020-10-22 18:41 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-18 15:08 gdb mode with gdb command from the docker William Xu
2020-10-18 15:57 ` Eli Zaretskii
2020-10-18 18:18 ` William Xu
2020-10-18 18:35 ` Eli Zaretskii
2020-10-20 19:54 ` William Xu
2020-10-21 16:10 ` Eli Zaretskii
2020-10-22 18:41 ` William Xu [this message]
2020-10-22 18:49 ` Eli Zaretskii
2020-10-22 19:27 ` William Xu
2020-10-18 18:48 ` Yuri Khan
2020-10-18 19:00 ` otadmor
2020-10-19 6:41 ` William Xu
2020-10-19 6:39 ` William Xu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m2wnzi5ci7.fsf@gmail.com \
--to=william.xwl@gmail.com \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).