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