Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A simple scripting frontend for the Java Debugger Interface

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 src
Octocat-spinner-32 README.md
Octocat-spinner-32 build.xml
README.md

A scripting interface for the Java Debugger Interface (JDI).

Right now, jdiscript provides:

  • An event-loop/dispatcher that allows you to specify handlers to respond to events from particular EventRequests.

  • A set of interfaces and a dynamic proxy for chaining Request configuration method calls.

  • A set of single-method handler interfaces that are easy to implement as closures in several of the higher-level languages.

  • Utility classes for launching a new VM and handling its process input and output, or attaching to an existing VM.

  • A top-level script object that allows transparent use of jdiscript features and easy access to frequently used operations.

jdiscript is intended to be used by whichever higher-level JVM language you prefer, and is itself pure Java, with no dependencies outside of jdk6. Some sample Groovy scripts are provided to get you started, but there's no reason you couldn't use JRuby, Clojure, Scala, etc. If you run into problems with your language of choice, or you have ideas for how a common idiom in your language could be better supported by the underlying Java implementation, please let me know.

I'd also love to start collecting generally useful scripts into one place, and creating a comprehensive debugging catalogue that anyone can dip into to help troubleshoot their code more efficiently. If you have one you'd like to share, drop it into a gist and link to it from the wiki page.

Something went wrong with that request. Please try again.