Ray Of Hope

Java Platform Debugging Architecture

JPDA (Java Platform Debugging Architecture) is a multi-tiered debugging architecture that allows tools developers to easily create debugger applications which run probably across platforms, virtual machine(VM ) implementations and JDK versions.

JPDA consists of three layers:

  • JVMTI – defines a debugging services a VM provides
  • JDWP – defines the communication between debugee & debugger process..
  • JDI – defines a high level java language interface which tool developers can easily use to write remote debuffer applications</li>


  1. Debugee: The debugee is the process being debugged. It consists of the application being debugged, the VM running the application and the back-end of the debugger.<
  2. back-end: The backend of the debugger is responsible for communicating requests from the debugger front-end to the debugee VM and for communicating the response to these requests (including events) to the front-end. The back-end communicates with front-end over communication – channel using the java debug wire protocol. The back-end communicates with the debugee VM using JVMTI.
  3. Communication Channel: is the link between the front-end &amp; back-ends of the debugger. It can be thought of as consisting of two mechanisms. – A Connector(a JDI object that is the means by which a connection is established between the front-end and back-end) and A Transport (mechanism used to move bits between the front-end and back-end)

Debugger Interfaces:

  1. JVMTI: A native interface implemented by VM. Defines the services a VM provide for debugging. Includes requests for information(for eg. Current stack frame), actions (for eg. set oa breakpoint), and notifications (for eg. when a breakpoint is hit).
  2. Java debug wire protocol (JDWP): defines the format of information and requests transferred between the debugee process and the debugger front-end.

Anshul Makkar
mail your query: anshul_makkar@justkernel.com

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.