From: Herbert Euler <herberteuler@hotmail.com>
To: <dima@sphinx.net.ru>
Cc: bug-gnu-emacs@gnu.org, 3794@emacsbugs.donarmstrong.com
Subject: bug#3794: Several other problems in gdb-mi [RE: bug#3794: Error in json from gdb-ui]
Date: Fri, 31 Jul 2009 16:06:42 +0800 [thread overview]
Message-ID: <BAY143-W20A0EED4D58464921E2C19DA100@phx.gbl> (raw)
In-Reply-To: <87zlb71iob.fsf@sphinx.net.ru>
[-- Attachment #1: Type: text/plain, Size: 2825 bytes --]
I'm so sorry for the big delay. I was not able to use computers these
days.
> > 2. The command "shell" is broken: In M-x gdb,
> >
> > shell ps aux | grep emacs
> >
> > results in no output; but in a "real" gdb, the output looks like this:
> >
> > shell ps aux | grep emacs
> > &"shell ps aux | grep emacs\n"
> > xgp 4886 1.3 0.1 80796 25900 pts/1 T 09:38 0:08 emacs
> > xgp 4936 0.3 0.1 77688 22568 pts/10 T+ 09:39 0:02 ./emacs
> > xgp 5209 0.0 0.1 28128 16548 pts/6 Ss+ 09:46 0:00 /usr/local/bin/gdb -i=mi emacs
> > xgp 5353 0.4 0.1 28184 16584 pts/1 S+ 09:49 0:00 gdb -i=mi emacs
> > xgp 5354 0.0 0.0 52800 976 pts/1 S+ 09:49 0:00 bash -c ps aux | grep emacs
> > xgp 5356 0.0 0.0 51124 688 pts/1 S+ 09:49 0:00 grep emacs
> > ^done
>
> Output of GDB's shell command goes as is straight to the terminal
> without being prefixed by stream identifier (~, @, & etc.) Thus it's
> harder to distinguish where this output should go (to GUD buffer, to MI
> parser etc.) I managed to produce a small patch which does the trick for
> simple shell commands like yours, but don't expect it to work with
> `top(1)` for example. I've attached the patch. Let me know if you notice
> that it breaks something.
I see. The patch works very well.
I got an idea of how to catch the output of `top(1)': Setting up the
gud buffer to make it behave like a shell buffer temporarily during
the execution of the `shell' command, and switching back to make it
behave in the gdb way after seen `^done'. However, this seems not to
be worthy implementing, because normally only simple shell commands
are executed via the `shell' command.
> > 3. Previously, typing directly RET at the M-x gdb prompt repeats the
> > last command in history. This is also what a "real" gdb does. But in
> > the new implementation, this does nothing now.
>
> I've fixed the code which mimicks RET behaviour for GUD buffer.
It works for me, thank you.
And here's another three problems:
4. Killing a gdb buffer won't send the `detach' command to the gdb
process, leaving the debugged process permentally being stopped. This
is often unconvenient.
5. The commands like `while' and `if' cannot be handled correctly.
Combined with problem #4, this leads to a bad use case: After typing
such a command, the gdb process hangs, so the gdb buffer has to be
killed. Then, the debugged process hangs and has to be killed. As a
result, both the debugger and the debugged process have to be
restarted.
6. Completion should be done with the emacs completion feature,
i.e. try-completion, completing-read etc.
Regards,
Guanpeng Xu
_________________________________________________________________
More than messages–check out the rest of the Windows Live™.
http://www.microsoft.com/windows/windowslive/
[-- Attachment #2: Type: text/html, Size: 3348 bytes --]
next prev parent reply other threads:[~2009-07-31 8:06 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-09 12:14 bug#3794: Error in json from gdb-ui Herbert Euler
2009-07-10 4:38 ` Nick Roberts
2009-07-11 3:04 ` Glenn Morris
2009-07-10 13:26 ` Dmitry Dzhus
2009-07-14 1:58 ` bug#3840: Several other problems in gdb-mi [RE: bug#3794: Error in json from gdb-ui] Herbert Euler
2009-07-14 13:46 ` bug#3845: " Dmitry Dzhus
2009-07-31 8:06 ` Herbert Euler [this message]
2009-08-04 18:40 ` bug#4035: " Dmitry Dzhus
2009-08-06 2:20 ` bug#3794: " Herbert Euler
2009-08-06 2:29 ` Herbert Euler
2009-08-16 23:11 ` Dmitry Dzhus
2009-09-10 3:46 ` Nick Roberts
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=BAY143-W20A0EED4D58464921E2C19DA100@phx.gbl \
--to=herberteuler@hotmail.com \
--cc=3794@emacsbugs.donarmstrong.com \
--cc=bug-gnu-emacs@gnu.org \
--cc=dima@sphinx.net.ru \
/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.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
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).