The Java Platform Debugger Architecture (JPDA) consists of three interfaces designed for use by debuggers in development environments for desktop systems. The Java Virtual Machine Tools Interface (JVM TI) defines the services a VM must provide for debugging (JVM TI is a replacement for the Java Virtual Machine Debug Interface (JVMDI) which has been removed). The Java Debug Wire Protocol (JDWP) defines the format of information and requests transferred between the process being debugged and the debugger front end, which implements the Java Debug Interface (JDI). The Java Debug Interface defines information and requests at the user code level.
NOTE: JVMPI, the experimental Java Virtual Machine Profiling Interface has removed. It has been replaced by JVM TI.
JVMDI has been removed. It has been replaced by JVM TI. See the JVMDI specification in the JDK 5.0 documentation.
The demo/jpda/examples.jar file in the JDK software contains JPDA examples, including source code for the jdb Java Debugger and the prototype javadt GUI debugger.