Downloading Bdbj (version 1.2.1)

Bdbj is a debugger for programs written in pure Java, which allows the user to step both backwards and forwards through the code. Conventional debugging concepts such as breakpoints and watches are also supported. The debugger can be used with a command line or a graphical interface. In the latter case there is support for editing and compiling the source code. The papers discuss the implementation and motivation of this project in more detail. Bdbj was designed and implemented by Jonathan Cook, University of Edinburgh.

Bdbj is a Java program linked to a modified version of the Java Virtual Machine Kaffe (version 1.0.7), which allows the debugging of programs which Kaffe 1.0.7 is capable of running.

This release has only been tested on Linux. To use the GUI, you will also require a Java Virtual Machine with Swing, ideally a recent JDK release. Alternatively, Kaffe is capable of running Swing, but if you do this you should install a separate version of Kaffe with the JIT enabled and use this to run the GUI, as the interpreter would run the GUI quite slowly.

In order to install Bdbj on your machine you will need to follow the following steps:

  1. Change the working directory to the one in which you want the directory (called kaffe-1.0.7) containing Kaffe's source code, and the directory (called kaffe) containing the compiled program and the debugger, to be put. When run normally, i.e. directly rather than by the debugger this version of Kaffe will operate in the normal way (except in the case that I have introduced bugs). However the version installed will have JIT switched off and will therefore run Java slower. So if you already have Kaffe installed we recommend that you install our version of Kaffe in a separate directory rather than on top of your existing version.
  2. Download the gzipped tar file for Kaffe version 1.0.7, kaffe-1.0.7.tar.gz, this is also available from the Kaffe homepage.
  3. Download the file bdbj-1.2.1.tar which contains all the source code, and Java class files, into the same directory as the Kaffe tar file.
  4. Download the file installbdbj-1.2-1 or installbdbj-1.2.1dir (if you want to compile and install in different directories) into the same directory as the other two files and make it executable. Look at it to check it will work on your UNIX platform (it has been tested on Linux and Solaris). If so execute it, if not (this would be surprising) modify it as necessary and then execute it. If you are using installbdbj-1.2.1dir then run the script in the directory in which you wish to compile, but pass it as an argument the installation directory. The script will generate files called bdbj (for the GUI) and bdbjtty (for the command line interface) which you can put somewhere on your $PATH.
  5. There are two tests that you can perform on the build. To perform the first, change into the directory kaffe-1.0.7 and run "make check". To perform the second test, download the file bdbjregress, place it in the same directory as the generated bdbjtty file and then execute it. The first test checks that Kaffe operates correctly when not coupled with the debugger. The second test runs a few simple debugging tasks and checks that the debugger behaves correctly.

Note about Swing

Bdbj supports JFC 1.1/Swing 1.1.1 (which you can download from Sun). To use this, now fairly old, version of Swing, download and extract the tar.Z file and then add the swingall.jar file in the top level of the extracted directory to the BDBJCLASSPATH before you run bdbj:

e.g. export BDBJCLASSPATH=/home/jjc/swing-1.1.1fcs/swingall.jar:.

This version of Swing is virtually sufficient to run the bdbj GUI (tables go slightly wrong).

New Features (compared with bdbj 1.1):

This release fixes many bugs in bdbj 1.2 beta, in addition to moving from Kaffe 1.0.6 to Kaffe 1.0.7. The release on this page is a minor revision of 1.2.1 in April 2003.

Running and using Bdbj

The help file (which can also be viewed via the Help menu in Bdbj) is also online here.

Screen-shot

Source Code

The bdbj tar file available above contains all the Java code for the debugger's user interface, within the appropriate jar files, and also those files of Kaffe which have been modified. These files can be browsed from here.

For the original licensing information regarding the modified files, please see kaffe-1.0.7.tar.