EGL 디버거의 환경 설정 설정

EGL 디버거에는 환경 설정의 기본 페이지가 두 개 있습니다. 첫 번째는 일반 환경 설정을 포함하고 두 번째는 생성된 코드(Java™ 또는 COBOL)에서 디버그할 프로그램 또는 서비스의 목록을 포함합니다. EGL DLI 개발자 기능을 설정했으면 추가 페이지가 사용 가능합니다.

Rich UI 애플리케이션을 디버깅하는 데 사용되는 유일한 환경 설정은 다음과 같습니다.
  • 프로그램의 첫 번째 행에서 중지
  • systemType을 DEBUG에 설정
  • 디버그 동작 맵핑 대화 상자에서, 서비스 환경 설정 탭의 설정

Rich UI에 대한 추가 세부사항은 "Rich UI 디버깅"을 참조하십시오.

일반 환경 설정

EGL 디버거의 일반 환경 설정을 설정하려면 다음 단계를 따르십시오.

  1. 기본 메뉴에서 > 환경 설정을 클릭하십시오.
  2. 환경 설정 창에서 트리의 EGL을 펼친 다음 디버그를 클릭하십시오. EGL 디버거 환경 설정이 표시됩니다.
  3. 디버거가 중단점으로 프로그램 또는 실행 단위의 첫 번째 행을 처리하도록 하려면 실행 일시중단에 대해 다음 옵션 중 하나 이상을 선택하십시오.
    • 초기 실행 단위의 첫 번째 행에서 중지 첫 번째 실행된 행이 실행 단위의 임의의 위치에서 참조된 라이브러리에 있을 수 있습니다.
    • 피호출 프로그램의 첫 번째 행에서 중지
    • 전송 대상 프로그램의 첫 번째 행에서 중지
    다음과 같은 경우 디버거가 중지하지 않고 계속하는지 여부를 추가 환경 설정에서 지정합니다.
    • 이전의 환경 설정 중 하나는 디버거가 EGLAR 파일에서 파트에 도달할 때 디버깅 세션이 중지함을 표시합니다.
    • 디버거는 해당 파트에 도달하고 EGLAR 파일은 EGL 소스 코드를 포함하지 않습니다.
    환경 설정은 해당 소스 코드가 사용 불가능한 경우 파트에서 중지 방지(자동으로 스텝 스루)입니다. 디버거가 파트에 도달하면 응답이 환경 설정에 기반합니다.
    • 선택의 존재는 디버깅 세션이 중지하지 않고 계속함을 의미합니다.
    • 선택의 부재는 디버깅 세션이 파트에서 중지함을 의미하고 사용자가 변수 값을 검토할 수 있습니다.

    환경 설정과 상관없이 파트에 대해 소스 코드에서 로직을 볼 수 없거나 로직을 시작할 수 없습니다.

  4. 디버그 시 코드를 변경하려면 핫스와핑 사용을 선택하십시오.
  5. 기본적으로 EGL은 먼저 이름으로 피호출 프로그램을 검색한 다음 별명으로 더 천천히 검색합니다. 별명으로 프로그램을 호출하지 않고 더 느린 프로세스를 사용 안함으로 설정하려는 경우 프로그램이 해당 별명으로 호출되도록 허용을 선택 취소하십시오.
  6. 기본적으로 EGL은 동일한 이름의 프로그램이 둘 이상 사용 가능할 때 디버거가 프로그램을 찾는 경우 프롬프트를 표시합니다. 프롬프트는 EGL 빌드 경로에서 찾은 프로그램과 작업공간에서 찾은 프로그램을 뒤이어 나열합니다.

    디버거가 항상 EGL 빌드 경로에서 처음 발견된 프로그램에 액세스하도록 하려면 EGL 빌드 경로에서 찾은 첫 번째 항목에 액세스하여 동일한 이름의 프로그램에 대한 프롬프트 방지를 선택하십시오.

    제공된 프로젝트에서, 여러 패키지에 있는 동일한 이름의 프로그램이 항상 동등하게 "처음 발견"으로 고려됩니다. 예를 들어, 디버거가 프로젝트에서 Program01 프로그램을 찾는 경우 pkg1.Program01pkg2.Program01 둘 다 사용 가능하면 사용자가 프롬프트를 수신합니다. 환경 설정 설정은 적용되지 않습니다.

  7. 실행 단위가 종료되는 경우가 아니라 해당 프로그램이 종료되는 즉시 피호출 프로그램에서 자원을 해제하려는 경우 피호출 프로그램이 리턴 시 기본적으로 자원을 해제함 선택란을 선택하십시오.
  8. systemType을 DEBUG로 설정을 선택하여 sysVar.systemType의 값이 system 빌드 디스크립터 옵션의 값이 아니라 DEBUG가 되도록 하십시오.
  9. sysVar.terminalID, sysVar.sessionIDsysVar.userID의 초기 값을 입력하십시오. 값을 지정하지 않는 경우 각 값의 기본값이 Windows 2000, NT, XP 및 Linux의 사용자 ID입니다.
  10. 원격 사용자원격 비밀번호 필드에서, 디버깅 중 원격 호출에 사용할 사용자 ID 및 비밀번호를 입력하십시오.

    디버깅 중 원격 호출에 사용되는 사용자 ID 및 비밀번호는 SQL 데이터베이스에 액세스하는 데 사용되는 사용자 ID 및 비밀번호와 분리됩니다.

  11. EGL 디버거 포트 필드에서 EGL 디버거의 포트 번호를 입력하십시오. 기본값은 8345입니다. 자세한 정보는 이 주제에서 “EGL 디버거 포트”를 참조하십시오.
  12. VSE 원격 VSAM 코드 페이지 필드에서 VSE 시스템에 상주하는 VSAM 파일에서 검색되거나 전송되는 데이터를 변환하는 데 사용되는 코드 페이지를 지정하십시오.
  13. 문자 인코딩 필드에서 디버깅 세션 중 데이터를 처리할 때 사용할 문자 인코딩의 유형을 선택하십시오. 기본값은 로컬 시스템의 파일 인코딩입니다. 자세한 정보는 “EGL 디버거의 문자 인코딩 옵션”을 참조하십시오.
  14. 디버깅 중 CICS® 또는 SQL 데이터베이스에 대한 원격 호출에 사용자 ID 및 비밀번호가 지정되도록 요구하려면 필요한 경우 사용자 ID 및 비밀번호에 대한 프롬프트 표시를 선택하십시오. 이 사용자 ID 및 비밀번호는 SQL 데이터베이스 자체에 액세스하는 데 사용되는 항목과 분리됩니다. 자세한 정보는 이 주제에서 “SQL 데이터베이스 액세스”를 참조하십시오.
  15. 디버그 세션 중 SQL 데이터베이스 사용자 ID 및 비밀번호를 저장한 경우 모든 저장된 SQL 프롬프트 정보 지우기 레이블과 함께 지우기 단추를 클릭하여 이를 지울 수 있습니다.
  16. 디버그 세션 중 원격 호출 사용자 ID 및 비밀번호를 저장한 경우 모든 저장된 원격 호출 프롬프트 정보 지우기 레이블과 함께 지우기 단추를 클릭하여 이를 지울 수 있습니다.
  17. 프롬프트가 가능한 모든 경우에 EGL 디버거가 사용자에게 프롬프트를 표시하도록 하려면 (이전에 프롬프트를 더 이상 표시하지 않도록 한 경우 포함), 모든 '다시 표시하지 않음' 대화 상자 설정 선택 취소 레이블과 함께 지우기 단추를 클릭하십시오.
  18. 디버거가 실행될 때 사용할 외부 Java 클래스를 지정하려면 클래스 경로를 수정하십시오. 예를 들어, WebSphere® MQ 메시지 큐, JDBC 드라이버 또는 Java 액세스 기능을 지원하는 데 별도의 클래스가 필요할 수 있습니다.

    클래스 경로 추가는 WebSphere Application Server 테스트 환경에 표시되지 않지만, 서버 구성의 환경 탭에서 작업하여 해당 환경의 클래스 경로에 추가할 수 있습니다.

    클래스 경로 순서 섹션의 오른쪽에 있는 단추를 사용하십시오.

    • 프로젝트, JAR 파일, 디렉토리 또는 변수를 추가하려면 적합한 단추(프로젝트 추가, JAR 추가, 디렉토리 추가 또는 변수 추가)를 클릭하십시오.
    • 항목을 제거하려면 이를 선택하고 제거를 클릭하십시오.
    • 둘 이상의 항목의 목록에서 항목을 옮기려면 항목을 선택하고 위로 이동 또는 아래로 이동을 클릭하십시오.
  19. 기본 설정을 복원하려면 기본값 복원을 클릭하십시오.
  20. 변경사항을 저장하려면 적용을 클릭하거나, 환경 설정 설정을 완료한 경우 확인을 클릭하십시오.

SQL 데이터베이스 액세스

SQL 데이터베이스에 액세스하는 데 사용할 사용자 ID 및 비밀번호를 판별하려면 EGL 디버거가 다음 소스를 순서대로 고려합니다.
  1. 디버그 시에 사용되는 빌드 디스크립터이며 특히 sqlIDsqlPassword 빌드 디스크립터 옵션입니다.
  2. SQL 데이터베이스 연결에 대한 환경 설정의 설정에 설명된 SQL 환경 설정 페이지이며, 해당 페이지에서 기타 연결 정보도 지정할 수 있습니다.
  3. 연결 시간에 표시되는 대화식 대화 상자입니다. 이 대화 상자는 필요한 경우 사용자 ID 및 비밀번호에 대한 프롬프트 표시 선택란을 선택할 때 표시됩니다.

SQL 데이터베이스에 액세스하는 데 사용되는 사용자 ID 및 비밀번호가 디버그 중 원격 호출을 작성하는 데 사용되는 사용자 ID 및 비밀번호와 분리됩니다. 디버그하는 동안 원격 호출에 대해 사용자 ID 및 비밀번호를 설정하려면 디버거에서 환경 설정을 설정하기 위한 이전의 지시사항을 참조하십시오.

EGL 디버거 포트

EGL 디버거는 포트를 사용하여 Eclipse 워크벤치와의 통신을 설정합니다. 기본 포트 번호는 8345입니다. 다른 애플리케이션이 해당 포트를 사용 중인 경우나 해당 포트가 방화벽에서 차단된 경우, EGL 디버거에서 환경 설정을 설정하기 위한 이전의 지시사항에 설명된 대로 다른 값을 설정하십시오.

8345 이외의 값이 EGL 디버거 포트로 지정된 경우와 EGL 프로그램이 J2EE 서버에서 디버그되는 경우, 서버 구성을 편집해야 합니다.
  1. 환경 탭, 시스템 특성 섹션으로 이동하십시오.
  2. 추가를 클릭하십시오.
  3. 이름 필드에서 com.ibm.debug.egl.port를 입력하십시오.
  4. 필드에서 포트 번호를 입력하십시오.

디버그 동작 맵핑

프로그램 또는 서비스를 호출하는 애플리케이션을 디버그하거나 UI 프로그램 또는 웹 트랜잭션을 디버그하는 경우, 디버거가 피호출 프로그램 또는 서비스에 대해 EGL 소스 코드 또는 생성된 코드를 실행할 수 있습니다. 기본적으로 디버거는 EGL 소스 코드를 사용합니다. 생성된 코드를 사용하려면 "디버그 동작 맵핑" 표에 항목을 추가하십시오.

다음과 같이 항목을 추가하십시오.
  1. 기본 메뉴에서 > 환경 설정을 클릭하십시오.
  2. 환경 설정 창에서 트리의 EGL을 펼치고 디버그를 펼친 다음 디버그 동작 맵핑을 클릭하십시오.
  3. 프로그램에 대한 호출의 경우 또는 UI 프로그램이나 웹 트랜잭션의 경우 피호출 프로그램 탭을 클릭하십시오. 표의 각 행마다 다음 필드를 지정하십시오.
    맵핑 모드
    다음 값 중 하나를 선택하십시오.
    소스
    프로그램에 대해 EGL 소스 파일을 지정하려는 경우입니다. 소스가 기본값이므로 추가 정보를 제공하려는 경우 소스 모드에 대해 동작 맵핑을 지정하기만 하면 됩니다. 다음 예제 상황에서 이 옵션을 선택할 수 있습니다.
    • 파일 이름에 대해 패키지를 지정하려고 합니다(myPackage.myFile).
    • call 명령문이 별명을 지정하고 사용자는 실제 파일 이름을 제공하려고 합니다.
    생성됨
    생성된 Java 또는 COBOL 코드를 지정된 프로그램에 대해 디버그하려고 하는 경우입니다. 다음 예제 상황에서 이 옵션을 선택할 수 있습니다.
    • 작업공간에 EGL 소스 파일이 없습니다.
    • 소스 파일이 크고 디버거에서 느리게 실행됩니다.
    호출 대상
    디버깅 중인 프로그램에서 호출되는 프로그램의 이름입니다. 와일드 카드로 대상 이름의 끝에서 별표(*)를 사용할 수 있습니다.
    파트 맵핑
    호출 대상의 프로그램이 호출되면 디버거가 사용하도록 할 소스 파일의 완전한 이름입니다. 맵핑 모드소스로 설정한 경우에만 이 필드를 완료하십시오. 이 필드에서 별표를 사용하지 마십시오.
  4. 서비스에 대한 호출의 경우 Service References 탭을 클릭하십시오. 표의 각 행마다 다음 필드를 지정하십시오.
    맵핑 모드
    다음 값 중 하나를 선택하십시오.
    소스
    서비스에 대해 EGL 소스 파일을 지정하려고 하는 경우입니다. 소스가 기본값이므로 추가 정보를 제공하려는 경우 소스 모드에 대해 동작 맵핑을 지정하기만 하면 됩니다. 다음 예제 상황에서 이 옵션을 선택할 수 있습니다.
    • 서비스 이름에 대해 패키지를 지정하려고 합니다(services.myService).
    • 서비스 호출이 별명을 지정하고 사용자는 실제 파일 이름을 제공하려고 합니다.
    생성됨
    생성된 Java 또는 COBOL 코드를 서비스에 대해 디버그하려고 하는 경우입니다. 다음 예제 상황에서 이 옵션을 선택할 수 있습니다.
    • 작업공간에 서비스의 EGL 소스 파일이 없습니다.
    • 소스 파일이 크고 디버거에서 느리게 실행됩니다.
    서비스 바인딩 키
    호출하는 서비스에 대해 배치 디스크립터에 있는 바인딩 키의 이름입니다.
    파트 맵핑 필드
    서비스 바인딩 키의 서비스가 호출되면 디버거가 실행하도록 할 서비스의 완전한 이름입니다. 맵핑 모드소스로 설정한 경우에만 이 필드를 완료하십시오. 이 필드에서 별표를 사용하지 마십시오.