JDI
JDI stands for Java Debug Interface, a high-level API for building debugging tools for Java programs. It is part of the Java Platform Debugger Architecture (JPDA), alongside the low-level protocol JDWP (Java Debug Wire Protocol) and the native interface JVMTI. JDI provides a Java language API that debugger applications use to control and inspect a target VM without implementing protocol details.
The API enables connecting to a debuggee VM, configuring breakpoints, stepping through code, inspecting thread state
JDI uses an event-based model. Debuggers receive events such as BreakpointEvent, StepEvent, MethodEntryEvent, and ClassPrepareEvent, and
Major development environments, including Eclipse, IntelliJ IDEA, and NetBeans, implement JDI to provide their debugging features.