house fly

JSwat Project

Old News


What's Old

1.5.8 - April 7, 2002
1.5.7 - April 2, 2002
1.5.6 - March 20, 2002
1.5.5 - March 19, 2002
1.5.4 - March 18, 2002
1.5.3 - February 28, 2002
1.5.2 - February 16, 2002
1.5.1 - January 24, 2002
1.5 - January 13, 2002
1.4.12 - January 6, 2002
1.4.11 - January 2, 2002
1.4.10 - December 18, 2001
1.4.9 - December 15, 2001
1.4.8 - November 28, 2001
1.4.7 - November 25, 2001
1.4.6 - November 12, 2001
1.4.5 - October 27, 2001
1.4.4 - October 11, 2001
1.4.3 - October 4, 2001
1.4.2 - September 30, 2001
1.4.1 - September 10, 2001
1.4.0 - September 5, 2001
1.3.3 - August 21, 2001
1.3.2 - August 4, 2001
1.3.1 - July 22, 2001
1.3.0.1 - July 12, 2001
Correcting problem in 1.3.0 build. Version number is technically still 1.3.0 since the code is the same.
1.3.0 - July 11, 2001
1.2.7 - May 28, 2001
1.2.6 - May 19, 2001
1.2.5 - May 5, 2001
1.2.4 - May 1, 2001
1.2.3 - April 21, 2001
1.2.2 - April 11, 2001
1.2.1 - March 22, 2001
1.2 - March 18, 2001
1.1.2 - March 3, 2001
1.1.1 - February 25, 2001
Fixed bugs #44 and #46, both had to do with custom class loaders causing breakpoints to become useless. Changed jswat to be more like NetBeans in that it creates a ClassPrepareRequest and leaves it enabled forever, setting the breakpoint each time the class is prepared.
1.1 - February 24, 2001
1.0 - February 7, 2001
0.9.7 - February 2, 2001
0.9.6 - January 25, 2001
0.9.5 - January 24, 2001
0.9.4 - January 23, 2001
January 14, 2001
I have installed Bugzilla for the purpose of tracking JSwat issues.
0.9.3 - January 12, 2001
0.9.2 - January 10, 2001
0.9.1 - January 7, 2001
0.9 - December 31, 2000
0.8.12 - December 5, 2000
0.8.11 - December 1, 2000
0.8.10 - November 4, 2000
0.8.9 - October 4, 2000
0.8.8 - September 21, 2000
0.8.7 - September 2, 2000
0.8.6 - August 30, 2000
0.8.5 - August 17, 2000
A set of fixes by Matt C.:
0.8.4 - August 14, 2000
0.8.3 - August 10, 2000
0.8.2 - July 30, 2000
Added a new stack frames panel, which shows the list of stack frames whenever execution stops at a breakpoint or exception. See the docs for details on its features.
0.8.1 - July 29, 2000
0.8 - July 23, 2000
Finished the new watchpoints panel. Now possible to watch any field variable of any object and see it change value as the program runs.
0.7.12 - July 21, 2000
0.7.11 - July 20, 2000
0.7.10 - July 16, 2000
0.7.9.1 - July 15, 2000
Screwed up and did not make the previous build using the latest code. I had made the code changes on the laptop but made the build on the workstation without first doing 'cvs update' to get the changes made from the laptop. Duh.
0.7.9 - July 14, 2000
Fixed the thread synchronization issues that only manifested themselves on Java VMs using native threads. Those darn missed notifications. Now JSwat won't hang when you try to exit on Win32 and Solaris.
0.7.8 - July 12, 2000
0.7.7 - July 9, 2000
0.7.6.3 - July 8, 2000
Fixed problem with source view popup not being able to set breakpoints. This is correcting the fix made to SourceManager in 0.7.6.2.
0.7.6.2 - July 6, 2000
Fixed a problem in the source manager that was not correctly converting the file separators to periods.
Improved exception handling in locals panel and thread panel.
0.7.6.1 - July 5, 2000
The JSwat package was missing several required classes from the util library. Added ability to set classpath before launching the debuggee class. Use 'classpath' followed by 'load' or 'run' to launch the debuggee VM.
0.7.6 - July 4, 2000
0.7.5 - June 29, 2000
Added some more detailed and appropriate error messages to the stop command.
Fixed a bug that appeared in JDK 1.3. StringTokenizer apparently has fixed a bug and that messed up JSwat's stopCommand. I have since fixed the stopCommand to do the right thing.
0.7.4 - June 27, 2000
Fixed all the Managers and JSwatPanels to set their Session reference in the init() method instead of in activate(). Also added a requested feature to allow passing the class (and any arguments for it) on the command line when invoking JSwat.
0.7.3 - June 25, 2000
Changed JSwatCommand to print help for commands using classname. Removed all the description() and help() methods from all the command classes. This makes the command classes smaller overall.
Fixed a bug in CommandManager where it would not create macros from within scripts. Macros should now be working everywhere.
0.7.2 - June 24, 2000
Overhauled the panels to improve and simplify the API. No change from a user standpoint. Created a new Manager class that several key classes now extend. Again, no change for the user, just simplifies the Session code a little bit.
Added a 'macro' command to allow creating command macros. This way users can save a set of commands and invoke them with a single keyword.
Fixed a bug in 'sourcepath' command when the source path was empty.
June 16, 2000
It was reported to me that CVS access was not working due to permission problems on the server. I have since made modifications to the file permissions, user/group ownership of the files, and created the appropriate CVS password file. If CVS access is still not working, let me know.
June 14, 2000
I have set up two mailing lists for JSwat, one for users of JSwat and one for the developers contributing to it. If you are at all interested in JSwat, please join one or both of the lists.
0.7.1 - June 11, 2000
Sorted the variables in the LocalsTablePanel display by name of the variable. Added messages in a couple of places to point users in the right direction when the debuggee VM fails to start. For instance, look at the Input/Output panel for possible error messages from the VM.
0.7 - May 7, 2000
Fixed the VMEventHandler so it handles JDI events synchronously. This prevents the "Bad file descriptor" problem seen by some folks. Fixed the Log class so it always writes the log contents to the attached writers on the AWT event dispatching thread. This gets around a new problem caused by the above change. This is really how it should have been done in the first place. Discarded the Loader class since it is unnecessary now with the change in the Log class. Now the program launches faster and writes to the message panel faster, too.
0.6.1 - May 3, 2000
Fixed a really stupid, embarrassing problem in the ThreadPanel. I was using the assigned row number to keep track of threads in the table. Silly me, I forgot all about threads dying "out of order". Note to others: if you review the JSwat code and find some brain dead coding, please tell me.
0.6 - April 30, 2000
Added two nice features. First, breakpoints are now referenced by number, so clearing, and dis/enabling breakpoints is much simpler. Second, a very nice feature is the ability to set breakpoints by clicking in the source code viewer. A context-sensitive popup menu appears and allows adding, removing, dis/enabling breakpoints.
0.5.7 - April 16, 2000
Changed the local variables and threads panels to display their information using tables. This makes the display more readable, I hope. Sorry it has been such a long time since the last update. Next I plan to support setting breakpoints directly from the source code display. Also, in a recent change to all of my Java code, the com.bms package was renamed to com.bluemarsh, since there appears to already be a "bms.com" and it is not BlueMarsh.
0.5.6.2 - January 6, 2000
Improved handling of errors in setting breakpoints. Now more accurately reports problems when setting a breakpoint where no line number information exists. I have found that the latest version of the IBM Java compiler, jikes, has problems generating proper debugging information. You may want to use javac from the JavaSoft JDK instead.
0.5.6.1 - December 27, 1999
Fixed the JSwat package. It was missing the com.bluemarsh.io classes. If you downloaded JSwat in the last two days, you should download this one instead.
0.5.6 - December 25, 1999
Added support for the 'sourcepath' command, which provides an additional path to source code. Added 'classpath' command to print out the classpath setting from the debuggee VM, if available. Session now uses debuggee VM's classpath, if available.
0.5.5 - December 13, 1999
When setting a breakpoint with 'stop' it now finds the next possible code line at which to set the breakpoint, in the event that the requested line does not contain executable code. Also fixed a couple of minor problems in the source view. It would not update itself visually when the session ended. It also would show the current stepping line indicator ("==>") while you had stepped into a function in another source file.
0.5.4 - December 4, 1999
Fixed a bug in the source file viewer. The second and subsequent file windows failed to show all the line numbers in the row header. Cannot be sure what caused this problem, but I believe it was the component listener having problems (it would not receive the 'componentResized' call). I changed the SourceRowHeader class to not use ComponentListener and instead use another mechanism for keeping up-to-date. Thanks to Teo Kian Hui for finding the problem.
0.5.3 - October 17, 1999
Improved the source viewer substantially. It now determines all the existing breakpoints and current stepping location when a view is opened. Properly unregisters itself when the view closes, allowing the view to be successfully reopened later. Added three new commands: frame, up, and down for managing the stack frame view.
Renamed the NoSessionException to NotActiveException, which is more logical.
Did a little bit of cleanup in various classes.
0.5.2 - October 3, 1999
Enhanced the source file viewer so that it shows the current line being single-stepped. Also queries the existing breakpoints when a new source file is viewed, so the row header is set appropriately. Opening the same file will now bring the existing window forward, rather than opening the file twice. Added three new toolbar buttons for single stepping.
Internally, the event handler now supports priorities for event listeners. This allows the Session to get events before other listeners so it may set the current thread, among other things.
0.5.1 - September 12, 1999
Commander now supports '<n> <command>' syntax for running a given command multiple times. ThreadPanel has been corrected to actively show new threads as the debuggee VM is running. Mike Calder provided a bug fix to the breakpoints panel, too. Thanks, Mike! Also added the disable, enable, and view commands.
0.5 - September 6, 1999
All known problems are corrected in this version (assuming you use either JDK 1.2.1 with JPDA 1.0 or JDK 1.3). Has a pile of debugging commands now (43 to be exact), making this debugger practically useful. I feel confident that the textual part of the debugger has reached a high point. I am now going to turn my attention to the graphical feature set.
0.3 - August 29, 1999
Time to drop the 'alpha' and adopt a real version numbering-system. I am starting at 0.3 since this debugger is roughly a third of the way complete. There are still many basic features yet to implement.
Now supports single-key stepping (i.e. 'F11' will single-step through code) and shows local variables in a window. Only problem is the local variable code crashes the debuggee process. :( I am going to contact the Java debugger folks for assistance on this bug.
Alpha-10 - August 26, 1999
Sorry for all these frequent updates. I will try to stick to a more regular schedule of every Sunday night or something.
Anyway, this release has stderr, stdout, and stdin support. It is not great but it functions. I figure most of the time you will be debugging a graphical application anyway.
Alpha-9 - August 22, 1999
No new debugger commands. Started working on adding stdout/stdin support. Fixed some potential problems with Commander and added Ctrl-p and Ctrl-n support for perusing the command history.
Alpha-8 - August 17, 1999
Added several new commands, but I have forgotten which ones they are so I will list all the supported commands: catch, classes, clear, exit, help, ignore, kill, load, locals, methods, next, resume, step, stepi, stop, suspend, thread, threadgroups, threads, where, wherei. Next I will be working on the 'print' and 'run' commands, which are the only remaining commands that I feel are needed. After that I will be working on the graphical side of the debugger.
Alpha-7 - August 15, 1999
Added the locals, thread, where, and wherei commands.
Alpha-6 - June 14, 1999
Setting breakpoints now works correctly. JSwat now supports command aliases and a start script. Numerous bug fixes and other small enhancements.
Alpha-5 - May 31, 1999
The textual interface to the debugger is advancing. It now supports several commands (catch, cont, exit, help, ignore, kill, load, suspend, and threads) through the use of "command classes". Still need to work on setting breakpoints.
Alpha-4.5 - May 23, 1999
Not much added this time. Started a few things at the same time and have not completed any of them. There is a breakpoint manager and source code shows which lines have break points (not very smart, though). Started to code a text-based debugger. This will eventually provide all the basic debugger features. I plan to get the basic debugger working and then deal with the graphical side of things.
Alpha-4 - May 2, 1999
Displays a list of the breakpoints, which can be enabled and disabled. Source code is displayed in a JInternalFrame with a gutter showing the line numbers. Automatically reloads source file if modified by another application.
Alpha-3 - April 25, 1999
Now has some useful graphical components so you can see what is going on. Includes a list for displaying the threads in the running VM, a tree for showing all of the classes, and a message window for display of important messages.
Alpha-2 - March 30, 1999
A slightly more featureful version of JSwat. Can start and stop any given class (provided it has a main method) and detect the death of the running VM.
Alpha-1 - March 15, 1999
A very early version of JSwat. It has a very limited set of features, including: starting a new VM, stopping the VM, and listing running VMs that can be attached to.
Web Pages - February 25, 1999?
These web pages were created and are being updated and improved on a continual basis.
Conception - February 22, 1999
The idea of JSwat was conceived asexually by me, Nathan Fiedler. Why? Because I hate paying $300 for a Java IDE that turns out not to properly support the target platform it said it could support.


Back