| # JavaTM Platform Debugger Architecture (JPDA) | Documentation Contents

> 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.

## Enhancements

- JPDA Enhancements in Java SE 6

- JPDA Enhancements in J2SE 5.0

- JPDA Enhancements in J2SE 1.4

## Design

- JPDA Overview

- Modularity
- Walk-through
- Porting

- Architecture Structure

- Structure Overview
- Components
- Debugger Interfaces

- Java Virtual Machine Tool Interface

- Java Debugger Wire Protocol
- Java Debug Interface

## Interface Reference

- Java Virtual Machine Tool Interface (JVM TI)

NOTE: JVMPI, the experimental Java Virtual Machine Profiling Interface has removed. It has been replaced by JVM TI.

- Specification

- Java Virtual Machine Debug Interface (JVMDI)

JVMDI has been removed. It has been replaced by JVM TI. See the JVMDI specification in the JDK 5.0 documentation.

- Java Debug Wire Protocol (JDWP)

- Specification

- Java Debug Wire Protocol Interface

- Specification

- Java Debug Interface (JDI)

- Specification

## Implementation

- Connection and Invocation Details

## More Information

- The JPDA Home Page

## Examples

- Example JDI Applications

> 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.

Copyright © 2004 Sun Microsystems, Inc. All Rights Reserved. Feedback | Java Software