At 10:37 AM 8/16/99 -0700, you wrote:
>Excerpts from mail: 14-Aug-99 Re: New debugger interface Paul
>Kinnucan@mathworks. (2708*)
>
>> I have a fair amount of experience with Microsoft's Visual C++
>> debugger. It has no command line facility yet manages to be quite
>> powerful and flexible nonetheless.
>
>Having no command-line facility is nonetheless one of its major
>shortcomings.  I'd hate to see a system wisely based on Emacs overape
>the flawed concepts of its inferiors.
>
Hi Bill,

I think you will find that JDEbug apes neither command-line debuggers
nor commercial "GUI" debuggers. Instead, it takes a novel approach that
exploits features peculiar to Emacs and Java to provide the best of both
worlds.

As I said, JDE has a command-line interface. This is more
by necessity (from my point of view) than choice. The necessity is that
standard I/O is the only way for Emacs to communicate with an external
debugger. (I would have preferred an in-process interface via via a
dynamically loaded shared library but that option is not available with
Emacs.) However, Amit and I have designed jdebug's command-line interface
on the assumption that the primary user of the interface will be a program
(i.e., Emacs). This allows us a significant advantage for Emacs development
over other command-line debuggers, which assume that the primary user is a
human being.  The advantage is that jdebug communicates with Emacs in
Emacs' native language: Lisp. The result is a major savings in development
time because it means that JDE code doesn't have to parse complicated
debugger output. All it has to do is evaluate that output. The result for
me is that writing the JDE user interface to jdebug has been very easy
compared to what I went through trying to write an inteface to jdb. With
JDEbug, I just write implementions of the Lisp functions referenced in the
debugger's Lisp output. The downside, if your a command-line partisan, is
that the debugger output is not exactly user friendly. It's available in a
buried buffer for your perusal and it's readable to a degree because we
have made the output functions verbose. However, I can't really see anyone
bothering with the raw debugger output that when they can see the same
output translated into English in the standard JDEbug output buffer. As for
entering commands, it is my intention to provide Emacs commands for every
low-level debugger command. Further, I will provide hooks for executing
Lisp scripts containing debugger commands at critical points, e.g., startup
of the debugger and startup of a process. Thus, I think you will find the
debugger provide all the features of a command-line interface with the
advantage of using Emacs menus or the minibuffer to enter commands.

- Paul

Reply via email to