unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Rocky Bernstein <rocky@gnu.org>
Cc: clement.pitclaudel@live.com, emacs-devel@gnu.org
Subject: Re: realgud now in elpa
Date: Sun, 31 Jul 2016 21:50:25 +0300	[thread overview]
Message-ID: <831t29prpq.fsf@gnu.org> (raw)
In-Reply-To: <CANCp2gbeMgAUFFA8Tu6y3u_-rpKwgLmCPn+ZP4tgF+jLH8Cubw@mail.gmail.com> (message from Rocky Bernstein on Sat, 30 Jul 2016 10:56:33 -0400)

> From: Rocky Bernstein <rocky@gnu.org>
> Date: Sat, 30 Jul 2016 10:56:33 -0400
> Cc: clement.pitclaudel@live.com
> 
> Folks - 
> 
> With the last of the copyright assignments changed, a possible replacement for "gud.el" called "realgud.el" is
> now in elpa. 
> 
> I make lots of mistakes (which is why I work on debuggers), so no doubt there will need to be some
> adjustment. Feel free to dig in or let me know.

Thanks.  It's good to see that the debugger front-end gets worked on
again, after a long pause.

I've played with the package, and the below are my comments.  I hope
you will not take it as any discouragement of your efforts; rather the
opposite: we the maintainers value anyone who is willing to step up
and contribute real work.  Please accept these as ways to further
improve your package, so it achieves the maximum benefit for our
users.

Here are the comments:

1. The package needs additional dependencies to start working:

   load-relative
   loc-changes
   list-utils

2. "M-x realgud:gdb RET" fails to propose emacs.exe (or any other
   executable file) as the file to debug, after a longish delay
   (probably used for looking up files in the current directory).
   When I type "./emacs.exe RET", it says:

     emacs.exe is large (66.6M), really open? (y or n)

   This prompt was unexpected, since Emacs doesn't need to visit the
   executable.

   Answering "y" causes another unexpected message in the echo area:

    Debugger track mode is already enabled.

   Why "already"?  And why is it important for me to know that mode is
   already active?  (The message sounds as if I made some mistake.)

3. The UI is the old GUD style, without the additional windows
   available with gdb-mi.el, and features available in those windows.

   I think a modern debugger UI should be similar to what other IDEs
   offer, and gdb-mi is much closer to that ideal than either GUD or
   realgud.

4. The GDB interface used is annotations, which is deprecated by the
   GDB developers, not the more modern MI.  Moreover, the annotations
   emitted by GDB are actually shown in the command buffer.  Example:

   Temporary breakpoint 3, main (argc=2, argv=0xa412f8) at emacs.c:674
   ^Z^Zd:\foo\bar\src\emacs.c:674:19557:beg:0x11517b0
   (gdb) n
   ^Z^Zd:\foo\bar\src\emacs.c:675:19578:beg:0x11517b7
   (gdb)

   I don't think seeing these annotations is useful; gud.el doesn't
   show them.

5. Completion seems to always complete on file names, even when typing
   parts of GDB commands that have nothing to do with file names.
   E.g., typing TAB at (gdb) prompt mostly says "No match", but if you
   type "sea TAB", it will complete to search.c (when the default
   directory is the Emacs src directory).  My guess is that the
   completion is either not delegated to GDB, but instead attempted by
   the package itself, or the completion provided by GDB is used
   incorrectly.  Because GDB has no problems with completing each
   command correctly.

6. The support for displaying values of variables in tooltips requires
   a click; the original GUD didn't, which IMO was more convenient.

7. Clicking on the fringe sets a breakpoint and displays that fact on
   the fringe; a second click deletes the breakpoint, but the fringe
   marker is not removed.  Additional clicks on that marker cause a
   "delete N" command to be again sent to GDB, which responds with an
   error message.

8. Clicking the "Next" button on the tool bar leaves a fading trace of
   the previous stop points (arrow1, arrow2, etc.), which is nice.
   However, the same trace is displayed in the command buffer, where I
   think it's unnecessary and confusing.  In fact, for the arrow to be
   shown in the command buffer is something I don't expect.  On a TTY
   frame, showing these arrows in the command buffer overwrites the
   GDB prompts and other information in the 1st 2 columns of each line
   where an arrow is displayed.

9. I hoped this will support debugging ELisp programs, but it doesn't,
   which I think is unfortunate.  One other omission I spotted is the
   GNU Awk's built-in debugger.

10.An attempt to get a backtrace hangs Emacs; C-g gets out of the
   hang, but doesn't display anything.

Thanks again for working on this.



  parent reply	other threads:[~2016-07-31 18:50 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-30 14:56 realgud now in elpa Rocky Bernstein
2016-07-30 15:01 ` Stefan Monnier
2016-07-30 16:15 ` Clément Pit--Claudel
2016-07-30 20:53   ` raman
2016-07-31  2:42     ` Richard Stallman
2016-08-01 17:10       ` T.V Raman
2016-08-02 13:32         ` Richard Stallman
2016-08-02 15:27           ` raman
2016-08-03  1:06             ` Richard Stallman
2016-08-03 16:10               ` Clément Pit--Claudel
2016-08-04 18:38                 ` Richard Stallman
2016-07-30 18:56 ` Michael Albinus
2016-07-31 17:28 ` Rocky Bernstein
2016-07-31 18:16   ` joakim
2016-07-31 18:23     ` Rocky Bernstein
2016-08-01 12:41       ` Stefan Monnier
2016-07-31 18:50 ` Eli Zaretskii [this message]
2016-07-31 23:58   ` Rocky Bernstein
2016-08-01 13:19     ` Eli Zaretskii

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=831t29prpq.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=clement.pitclaudel@live.com \
    --cc=emacs-devel@gnu.org \
    --cc=rocky@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.
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).