As a demonstration of the Java Debug Interface (JDI), we are providing source code for the jdb debugger, re-written to use the JDI. It contains a few features not found in the pre-JDI jdb, including some expression evaluation, but some features of the standard jdb have not been implemented.
jdb man pages for Windows
The jdb sample can be run by executing:
java tty.TTY <options>.. <class-name>where <class-name> is the name you would normally place on thejava
command line. The-help
option provides information on options. Note: Be sure that the Java 2 SDK's lib/tools.jar file is on the class path used to invoke tty.TTY. The tools.jar file includes the JDI Library and to the compiled jdb class files.For more information on invoking and connecting see Connection and Invocation Details section of the JPDA documentation, particularly the section on jdb.
Full source code for jdb is included as part of the example code in the Java 2 SDK'slib/jpda
directory, inexamples.jar
. (Use jar xvf examples.jar to extract the contents of examples.jar.) Note: this file also includes the source forjavadt
. Source code of these example application is included to provide concrete examples for debugger developers. Example code may be used, modified and redistributed by debugger developers providing they adhere to the terms in the copyright notice.jdb uses the following packages (found in the
examples.jar
file):
tty
- Application code
expr
- Expression processing code
To completely rebuild the jdb classes from the provided source
files,
you need only to compile them. No special options are required, aside
from those which set your classpath to
include the JDI Library. However, if
want to modify the expression parser in the file
Expr.jj
, you will need the JavaCC parser generator.