Skip to content

VictorDenisov/openjdb

Repository files navigation

Openjdb
=======

Due to heavy development of jdi library it's added to openjdb as a submodule.
Jarfind library is not published on hackage yet.

jarfind
jdi

COMPILATION
-----------

You need cabal for building the project.

Install necessary unpublished libraries:

- Enter jarfind directory.

- run

# cabal confgiure
# cabal build
# cabal install

- repeat the same steps for jdi library.

In openjdb directory run:

# cabal configure
# cabal build

Now you have openjdb executable binary in dist/build/openjdb.

If you want to try openjdb with debugging any real application do the following:

Start ./run_sample.sh.

It starts a sample java application.

In another terminal start ./run_openjdb.sh. It will connect to the previously
started java application.

openjdb is designed to look very similar to gdb GNU debugger and not to jdb
from java packages.

Refer to run_openjdb.sh shell script for command line arguments necessary to
run openjdb.

RELEASE NOTES
-------------

Features and limitations of the current release.

Features:

  - read only access to virtual machine.
  - print stack trace.
  - print list of running threads.
  - print values of variables.
  - breakpoint for method.
  - breakpoint for lines.
  - step execution.
  - next execution.

Limitations:

  - can not print values of expressions bigger than one variable.
  - all threads are suspendded on breakpoint or step request.
  - can not move up and down alongside stack trace frames.
  - can not operate with threads.

About

This is an implementation of java debugger in Haskell.

Resources

License

Stars

Watchers

Forks

Packages

No packages published