Downloading Bdbj (version 1.2 beta)
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.6), which allows the debugging
of programs which Kaffe 1.0.6 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.
I have not tried running it on Windows. In principle it should work:
Java runs under Windows, and so does Kaffe.
However, getting Kaffe to run under Windows seems far from straightforward.
If you do try, then please tell me what happens.
In order to install Bdbj on your machine you will need to
follow the following steps:
- Change the working directory to the one in which you want
the directory (called kaffe-1.0.6) 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.
- Download the tar file for Kaffe version 1.0.6
(called kaffe-1.0.6.tar.gz), which can be obtained from
the Kaffe homepage.
If you find there is a more recent version on the homepage, it probably
will not work with our debugger. Time permitting,
every time a new version of Kaffe is released we will update
Bdbj to match.
- Download the file
bdbj-1.2.tar
which contains all the source code, and Java class files, into the same directory as
the Kaffe tar file.
- Download the file
installbdbj-1.2
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.
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.
- There are two tests that you can perform on the build. To perform the first, change
into the directory kaffe-1.0.6 and run "make check". To perform the second test,
download the
file
bdbjregress
, place it in the
same directory as the other downloaded files 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.
New Features
- Ability to reverse simple file I/O.
- Ability to step through the bytecode.
- Ability to log code without opening its Java file, in particular library code.
- Trapping of fatal exceptions.
- Better support for editing code in the GUI, and support for using the command line
protocol within the GUI.
- Bug fixes, stdin/out/err console more stable.
This release is being occassionally updated with bug fixes (last update 26 May 2002).
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.6.tar.