Java 애플리케이션 디버깅

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에서 다운로드할 수 있습니다.

프로시저

  1. JVM 프로파일에 디버깅 옵션을 추가하여 JVM을 디버그 모드로 시작하십시오.
    -agentlib:jdwp=transport=dt_socket,server=y,address=port
    원격에서 디버거에 연결할 여유 포트를 선택하십시오. 둘 이상의 JVM 서버에서 JVM 프로파일을 공유하는 경우 디버깅에 다른 JVM 프로파일을 사용할 수 있습니다.
  2. 디버거를 JVM에 연결하십시오. 연결 시 포트 값이 올바르지 않다는 등의 오류가 발생하면 오류 메시지가 JVM 표준 출력 스트림과 표준 오류 스트림에 작성됩니다.
  3. 디버거를 사용하여 JVM의 초기 상태를 확인하십시오. 예를 들어, 시작된 스레드 ID와 로드된 시스템 클래스를 확인하십시오. JVM은 실행을 일시중단합니다. Java 애플리케이션이 시작되지 않았기 때문입니다.
  4. Java 클래스 전체 이름과 소스 코드의 행 번호를 지정하여 Java 애플리케이션의 적절한 지점에 중단점을 설정하십시오. 애플리케이션 클래스는 일반적으로 아직 로드되지 않기 때문에 디버거는 클래스가 로드될 때까지 이 중단점의 활성화가 연기된다고 표시합니다. CICS 미들웨어 코드를 지나 애플리케이션 중단점까지 JVM을 실행하십시오. 애플리케이션 중단점에서 JVM은 다시 실행을 일시중단합니다.
  5. 로드된 클래스와 변수를 검사하고 중단점을 더 전진시켜 필요에 따라 코드를 단계별로 디버깅하십시오.
  6. 디버그 세션을 종료하십시오. 디버깅이 완료될 때까지 애플리케이션을 실행하고 완료되는 지점에서 디버거와 CICS JVM 간의 연결이 끊어지도록 할 수 있습니다. 어떤 디버거는 JVM 강제 종료를 지원하며, 강제 종료하면 CICS 시스템 콘솔에 이상 종료 및 오류 메시지가 표시됩니다.