RE: JDEbug vs jdb vs JSwat vs gdb

"Paul Kinnucan" <[email protected]>
Newsgroups gmane.emacs.jdee
Message-ID <DB873318D1A41648BEAC4B5AAB63B3E10EC1D240@MESSAGE-AH.ad.mathworks.com>
Hi Michael,

JDEbug was developed in the early days of the JDEE by a summer intern
hired by Sun Microsystems. The idea was to develop a debugger designed
specifically to work with Emacs via standard I/O. Emacs would send
command-line commands to the debugger and JDEbug would reply with elisp
that Emacs would execute. This would allow the JDEbug backend to control
Emacs directly. JDEbug would also provide facilities that jdb didn't,
such as conditional breakpoints. JDEbug would also provide the ability
to debug multiple processes concurrently. This requirement was
unfortunate as it greatly complicated the interface and threading of the
dubugger, without any benefit. AFAIK, nobody has ever used the
mutliprocess debugging capability. Anyway, as best as I can tell, the
intern, who had only 8 weeks to work on this project, basically adapted
the circa-1997 jdb Java code to work with an Emacs interface that I
created. He also added the ability to handle multiple processes. He
never got around to more sophisticated capabilities, such as conditional
breakpoints. The resulting debugger was slow in stepping and somewhat
unreliable. Somewhat later I and another JDEE contributor added the
ability to display local variables in a buffer as you stepped through
the source. This slowed down stepping even further as all the data had
to be sent across the standard I/O interface at each step. Somebody else
added a Java window to display local variables, thus avoiding the
standard I/O bottleneck. The theoretical advantage of JDEbug is that it
is specifically designed to work with Emacs and its source code is free.
The disadvantage is that the source code is complex and difficult to
maintain and few JDEE contributors have had the time or the willingness
to take on the task of maintaining and extending the code in any
significant way.

Meanwhile, over the years both jdb and the JDEE interface to jdb have
evolved into a fairly reliable and capable debugger for use with the
JDEE. Emacs jdb is not anywhere as capable as JSWAT or Eclipse but I
don't think it has to be for those of us who need and want an
Emacs-based Java development environment. I've come to the conclusion
that JDEBug is not the answer for JDEE users who need something more.
Creating and maintaining a fully capable modern debugger is too much of
a task for me and, as far as I can tell, for other JDEE contributors. I
think JDEE development resources would be much better spent trying to
interface the JDEE to JSWAT or some other independently developed and
maintained Java debugger. Hence, my proposal that we jettison JDEbug.

A possibility is for someone to start afresh with the JDEBug concept,
i.e., develop a debugger backend based on an existing free debugger with
a Java interface specifically designed to talk with Emacs via standard
I/O or sockets.

Paul


> -----Original Message-----
> From: Paul Michael Reilly [mailto:[email protected]]
> Sent: Monday, July 31, 2006 2:57 PM
> To: [email protected]
> Subject: JDEbug vs jdb vs JSwat vs gdb
> 
> I've just been reading the archives about JDEbug being in an "alpha"
> state.  Before doing that I tried it with CVS Emacs (22) and got it to
> work mostly but did run into an Elisp bug that has been reported
> (Daniel Flesner, "2.3.5.1 and debug mode" on Jul 24).  After I send
> this message off I fully will find out what the issue is with this
> bug and see if I can fix it.
> 
> I was particularly taken aback to read Paul K's message where he
> essentially confessed to little faith in JDEbug.  Assuming jdb and
> JDEbug were both bug free (a giant leap, of course) what is the
> advantage of JDEbug?  I ask from the perspective of "should I
> volunteer time to help make JDEbug work properly or just use jdb and
> go with the flow?".  Based on the archives, I will give jdb a try and
> see if it meets my needs.  I have a hunch it will.
> 
> I must confess that JSwat does not appeal to me if it comes with
> NetBeans baggage and overhead.
> 
> I've seen no mention of gdb.  I must confess that in my C days I swore
> by gdb.  I know that gdb-mode has turned into "GUD" but I don't really
> know if that is good, bad or indifferent.
> 
> I would also suggest that someone bite another bullet (I may) and fork
> JDE into a subversion based repo.  If the fork is a dismal failure
> then no sweat.  If it catches on then Paul K will likely be a huge
> beneficiary to the extent more hackers can stand on his shoulders and
> he will have a vibrant alternative when his life choices leave him
> with more time to devote to JDE.
> 
> My interest is in seeing Emacs as a Java development environment
> continue to grow and develop along with Eclipse, NetBeans, IntelliJ,
> etc.  That is only going to happen if one of us, who ostensibly care,
> make it happen, being the nature of Open Source.
> 
> -pmr
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.