CICS®에서 JVM은 Java™ 2 Platform에서 제공하는 표준 디버깅 메커니즘인 JPDA(Java Platform Debugger Architecture)를 지원합니다. 이 아키텍처는 원격 디버거가 JVM에 접속할 수 있게 하는 API 세트를 제공합니다.
이 태스크 정보
JDPA를 지원하는 도구를 사용하여 CICS에서 실행되는 Java 애플리케이션을 디버그할 수 있습니다. 예를 들면, z/OS®에서 Java SDK와 함께 포함된 JDB(Java Debugger)를 사용할 수 있습니다. JPDA 원격 디버거에 연결하려면 JVM 프로파일에 옵션을 설정해야 합니다.
IBM은 Health Center를 포함하여 Java용 모니터링 및 진단 도구를 제공합니다. IBM Health Center는 IBM Support Assistant 워크벤치에서 사용 가능합니다. 이 무상 도구는 시작하기 안내서에 설명된 대로 IBM에서 다운로드할 수 있습니다.
프로시저
- JVM 프로파일에 디버깅 옵션을 추가하여 JVM을 디버그 모드로 시작하십시오.
-agentlib:jdwp=transport=dt_socket,server=y,address=port
원격에서 디버거에 연결할 여유 포트를 선택하십시오. 둘 이상의 JVM 서버에서 JVM 프로파일을 공유하는 경우 디버깅에 다른 JVM 프로파일을 사용할 수 있습니다.
- 디버거를 JVM에 연결하십시오. 연결 시 포트 값이 올바르지 않다는 등의 오류가 발생하면 오류 메시지가 JVM 표준 출력 스트림과 표준 오류 스트림에 작성됩니다.
- 디버거를 사용하여 JVM의 초기 상태를 확인하십시오.
예를 들어, 시작된 스레드 ID와 로드된 시스템 클래스를 확인하십시오. JVM은 실행을 일시중단합니다. Java 애플리케이션이 시작되지 않았기 때문입니다.
- Java 클래스 전체 이름과 소스 코드의 행 번호를 지정하여 Java 애플리케이션의 적절한 지점에 중단점을 설정하십시오. 애플리케이션 클래스는 일반적으로 아직 로드되지 않기 때문에 디버거는 클래스가 로드될 때까지 이 중단점의 활성화가 연기된다고 표시합니다. CICS 미들웨어 코드를 지나 애플리케이션 중단점까지 JVM을 실행하십시오. 애플리케이션 중단점에서 JVM은 다시 실행을 일시중단합니다.
- 로드된 클래스와 변수를 검사하고 중단점을 더 전진시켜 필요에 따라 코드를 단계별로 디버깅하십시오.
- 디버그 세션을 종료하십시오. 디버깅이 완료될 때까지 애플리케이션을 실행하고 완료되는 지점에서 디버거와 CICS JVM 간의 연결이 끊어지도록 할 수 있습니다. 어떤 디버거는 JVM 강제 종료를 지원하며, 강제 종료하면 CICS 시스템 콘솔에 이상 종료 및 오류 메시지가 표시됩니다.