JPDA(Java Platform Debugger Architecture)
JPDA (Java™ Platform Debugger Architecture) 는 JVM 디버그 인터페이스/JVM 도구 인터페이스, Java 디버그 와이어 프로토콜 및 Java 디버그 인터페이스로 구성됩니다. JPDA의 이러한 모든 부분은 디버깅 조작을 수행하기 위해 JDWP를 사용하는 디버거의 프론트 엔드를 작동 가능하게 합니다. 디버거 프런트 엔드는 원격으로 실행하거나 IBM i 애플리케이션으로 실행할 수 있습니다.
JVMTI (Java Virtual Machine Tool Interface)
JVMTI는 JVMDI (Java Virtual Machine Debug Interface) 및 JVMPI (Java Virtual Machine Profiler Interface) 를 대체합니다. JVMTI에는 JVMDI 및 JVMPI 둘 다의 모든 기능과 새 기능이 포함되어 있습니다. JVMTI는 J2SE 5.0의 일부로 추가되었습니다. JDK 6에서, JVMDI 및 JVMPI 인터페이스는 더 이상 제공되지 않고, JVMTI는 사용 가능한 유일한 옵션입니다.
JVMTI 사용에 대한 자세한 정보는 Oracle America, Inc.의 JVMTI 참조 페이지
를 참조하십시오. 웹 사이트.
Java 디버그 와이어 프로토콜
JDWP (Java Debug Wire Protocol) 는 디버거 프로세스와 JVMDI/JVMTI 사이에 정의된 통신 프로토콜입니다. JDWP는 리모트 시스템에서 또는 로컬 소켓을 통해 사용할 수 있습니다. JVMDI/JVMTI에서 제거된 하나의 계층입니다.
QShell에서 JDWP 시작
JDWP를 시작하고 Java 클래스 SomeClass를 실행하려면 QShell에 다음의 명령을 입력하십시오.
java -interpret -agentlib:jdwp=transport=dt_socket,
address=8000,server=y,suspend=n SomeClass이 예에서 JDWP는 TCP/IP 포트 8000에서 리모트 디버거로부터의 연결을 청취하지만 원하는 아무 포트 번호나 사용할 수 있습니다. dt_socket은 JDWP 전송을 처리하는 SRVPGM의 이름이며 변경되지 않습니다.
-agentlib와 함께 사용할 수 있는 추가 옵션은 Oracle America, Inc.의 Sun VM 호출 옵션
을 참조하십시오.
CL 명령행에서 JDWP 시작
JAVA CLASS(SomeClass) INTERPRET(*YES)
PROP((os400.xrun.option 'jdwp:transport=dt_socket,address=8000,server=y,suspend=n'))
Java 디버그 인터페이스
JDI(Java Debug Interface)는 툴 개발을 위해 제공되는 상위 레벨 Java 언어 인터페이스입니다. JDI는 일부 Java 클래스 정의 뒤에 JVMDI/JVMTI및 JDWP의 복잡도를 숨깁니다. JDI는 rt.jar 파일에 포함되어 있으므로 디버거의 프론트 엔드는 Java를 설치한 어느 플랫폼에나 존재합니다.
Java를 위한 디버거를 작성하려면 JDI를 사용해야 합니다. JDI는 가장 간단한 인터페이스이며 코드는 플랫폼과 상관없기 때문입니다.
JEPA에 대한 자세한 정보는 Oracle America, Inc.의 Java 플랫폼 디버거 아키텍처
를 참조하십시오.