TheJava Platform Debugger Architecture (JPDA) is a collection ofAPIs todebugJava code.
Java Debugger Interface (JDI) – defines a high-level Java language interface that developers can easily use to write remote debugger application tools.
JDI is the highest-layer of the Java Platform Debugger Architecture. It allows to access theJVM and the internal variables of the debugged program. It also allows to setbreakpoints,stepping, and handle threads.[1]