Our Java Debugger is implemented using the JDK's built-in JPDA/JDI API. We currently have a mode which embeds it in a jshell for CLI-based diagnostics. It is well-suited for Java and Dalvik (Android VM) targets.
The following launchers based on the Java Debugger are included out of the box:
The plain "java" launcher uses the native Java Debug Interface (JDI) to launch the current .class file locally.
You must have Java installed on the local system. No additional setup is required.
This launcher uses the native Java Debug Interface (JDI) to attach to a running java program launched with an open Java Debug Wire Port (JDWP) over TCP, e.g.:
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:54321 Target.class
Identical to that for the java launcher.
This launcher uses the native Java Debug Interface (JDI) to attach to a running java program launched with a Java Debug Wire Port (JDWP) identified by process id.
Identical to that for the java launcher.