The Java Platform Debugger Architecture (JPDA) is a collection of
API
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
s to
debug Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
code.
* Java Debugger Interface (JDI) – defines a high-level Java language interface that developers can easily use to write remote debugger application tools.
*
Java Virtual Machine Tools Interface (JVMTI) – a native interface that helps to inspect the state and to control the execution of applications running in the
Java Virtual Machine
A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
(
JVM
A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
).
* Java Virtual Machine Debug Interface (JVMDI) – ''JVMDI was deprecated in J2SE 5.0 in favor of JVM TI, and was removed in Java SE 6.''
*
Java Debug Wire Protocol In computing, the Java Debug Wire Protocol (JDWP) is a communication protocol which is part of the Java Platform Debugger Architecture. It is used for communication between a debugger and the Java Virtual Machine, which it debugs. It allows to debu ...
(JDWP) – defines communication between debuggee (a Java application) and
debugger
A debugger or debugging tool is a computer program used to software testing, test and debugging, debug other programs (the "target" program). The main use of a debugger is to run the target program under controlled conditions that permit the pr ...
processes.
Java Debugger Interface (JDI)
JDI is the highest-layer of the Java Platform Debugger Architecture. It allows to access the
JVM
A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
and the internal variables of the debugged program. It also allows to set
breakpoint
In software development, a breakpoint is an intentional stopping or pausing place in a program, put in place for debugging purposes. It is also sometimes simply referred to as a pause.
More generally, a breakpoint is a means of acquiring know ...
s,
stepping, and handle threads.
See also
*
Eclipse
An eclipse is an astronomical event that occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ce ...
, an open-source IDE integrated with JPDA support
*
IntelliJ IDEA
IntelliJ IDEA is an integrated development environment (IDE) written in Java (programming language), Java for developing computer software written in Java, Kotlin (programming language), Kotlin, Groovy (programming language), Groovy, and other ...
, a commercial open-source Java IDE with integrated JPDA support
*
JSwat, an open-source Java debugger using the JPDA
*
NetBeans
NetBeans is an integrated development environment (IDE) for Java (programming language), Java. NetBeans allows applications to be developed from a set of modular software components called ''modules''. NetBeans runs on Microsoft Windows, Windows, ...
, an open-source IDE using the JPDA
References
{{Reflist
External links
Java Platform Debugger Architecture for Java SE 7Java Platform Debugger Architecture for Java SE 8
Debuggers
Java platform