부록D. 예제: Debug Tool Utilities를 사용하여 프로그램 준비 및 설정 파일 수정
이 예제에서는 Debug Tool Utilities를 사용하여 프로그램을 준비하는 방법과 설정 파일의 작성, 관리 및 사용 방법을 설명합니다. 예제는 다음 태스크로 안내합니다.
- 올바른 속성으로 개인 데이터셋 작성
- Debug Tool Utilities 시작
- Debug Tool Utilities를 사용하여 프로그램 컴파일 또는 어셈블. Debug Tool Utilities를 사용하지 않는 경우에는
일반 메소드를 통해 프로그램을 빌드하고 다음 단계에서
이 예제를 재개할 수 있습니다.
- 프로그램을 포그라운드 또는 Batch로 실행하여 설정 파일 수정 및 사용
개인 데이터셋 작성
아래에 설명하는 이름과 속성으로 데이터셋을 작성하십시오. 각 데이터셋에
5 트랙을 할당하십시오. 디렉토리의 파티션 데이터셋에 5 블록을 지정해야 합니다.
표 31. 데이터셋을 직접 작성할 때 사용할 이름 및 속성
| 데이터셋명 |
LRECL |
BLKSIZE |
RECFM |
DSORG |
| * 올바른 블록 크기를 사용할 수 있습니다. |
| prefix.SAMPLE.COBOL |
80 |
* |
FB |
PO |
| prefix.SAMPLE.PLI |
80 |
* |
FB |
PO |
| prefix.SAMPLE.C |
80 |
* |
FB |
PO |
| prefix.SAMPLE.ASM |
80 |
* |
FB |
PO |
| prefix.SAMPLE.DTSF |
1280 |
* |
VB |
PO |
hlq.SEQASAMP 데이터셋의 다음 멤버를 방금 작성한 개인 데이터셋에 복사하십시오.
| SEQASAMP 멤버명 |
샘플 데이터셋 |
멤버 설명 |
| EQAWPP1 |
prefix.SAMPLE.COBOL(WPP1) |
COBOL 소스 코드 |
| EQAWPP3 |
prefix.SAMPLE.PLI(WPP3) |
PL/I 소스 코드 |
| EQAWPP4 |
prefix.SAMPLE.C(WPP4) |
C 소스 코드 |
| EQAWPP5 |
prefix.SAMPLE.ASM(WPP5) |
어셈블러 소스 코드 |
| EQAWSU1 |
prefix.SAMPLE.DTSF(WSU1) |
EQAWPP1의 설정 파일 |
| EQAWSU3 |
prefix.SAMPLE.DTSF(WSU3) |
EQAWPP3의 설정 파일 |
| EQAWSU4 |
prefix.SAMPLE.DTSF(WSU4) |
EQAWPP4의 설정 파일 |
| EQAWSU5 |
prefix.SAMPLE.DTSF(WSU5) |
EQAWPP5의 설정 파일 |
Debug Tool Utilities 시작
Debug Tool Utilities를 시작하려면 다음 옵션 중 하나를 수행하십시오.
Debug Tool Utilities 기본 패널(EQA@PRIM)이 표시됩니다. 명령행에서 PANELID
명령을 입력하십시오. 이 명령은 화면의 왼쪽 위 모서리에 각 패널의 이름을 표시합니다.
이러한 이름은 이 절의 지시사항에서 탐색을 위해 사용됩니다. 이 예제를 완료하면
PANELID 명령을 입력하여 이러한 이름의 표시를 중지할 수 있습니다.
Debug Tool Utilities를 사용하여 프로그램 컴파일 또는 어셈블
프로그램을 컴파일하려면 다음 단계를 수행하십시오.
- EQA@PRIM 패널에서 1을 선택하십시오. Enter를 누르십시오.
-
EQAPP 패널에서 다음 옵션 중 하나를 선택하고 Enter를 누르십시오.
- 1 COBOL 프로그램 컴파일
- 3 PL/I 프로그램 컴파일
- 4 C 또는 C++ 프로그램 컴파일
- 5 어셈블러 프로그램 어셈블
- 2단계에서 선택한
언어에 따라 다음 패널 중 하나가 표시됩니다.
- COBOL 프로그램의 EQAPPC1. 표시된 필드에 다음 정보를 입력하십시오.
- Project = prefix
- Group= SAMPLE
- Type=COBOL
- Member=WPP1
- PL/I 프로그램의 EQAPPC3
- Project = prefix
- Group= SAMPLE
- Type=PLI
- Member=WPP3
- C 및 C++ 프로그램의 EQAPPC4
- Project = prefix
- Group= SAMPLE
- Type=C
- Member=WPP4
- 어셈블러 프로그램의 EQAPPC5
- Project = prefix
- Group= SAMPLE
- Type=ASM
- Member=WPP5
- 어셈블러 프로그램을 준비할 경우 Syslib 데이터셋명 필드에 CEE
라이브러리의 위치를 입력하십시오. 예: 'CEE.SCEEMAC'
- 옵션을 편집하려면 '/'를 입력하고 데이터셋명 지정 패턴 필드에
출력 데이터셋명 지정 패턴을 지정하십시오.
Enter를 누르십시오.
-
2단계에서 선택한
언어에 따라 다음 패널 중 하나가 표시됩니다.
- COBOL 프로그램의 EQAPPC1A
- PL/I 프로그램의 EQAPPC3A
- C 및 C++ 프로그램의 EQAPPC4A
- 어셈블러 프로그램의 EQAPPC5A
패널에서 다음 정보를 검토하십시오.
- 테스트 컴파일러 옵션
- 출력 데이터셋명 지정 패턴
PF3(종료)을 누르십시오.
- 2단계에서 선택한
언어에 따라 다음 패널 중 하나가 표시됩니다.
- COBOL 프로그램의 EQAPPC1.
- PL/I 프로그램의 EQAPPC3
- C 및 C++ 프로그램의 EQAPPC4
- 어셈블러 프로그램의 EQAPPC5
이러한 프로그램을 포그라운드에서 처리하려면 "F"를 선택하십시오. CICS® 변환기에
"N"을 지정하고 DB2® 프리컴파일러에 "N"을
지정하십시오. 이러한 프로그램은 CICS 또는 DB2 지시사항을 포함하지 않습니다.
Enter를 누르십시오.
- 2단계에서 선택한
언어에 따라 다음 패널 중 하나가 표시됩니다.
- COBOL 프로그램의 EQAPPC1B
- PL/I 프로그램의 EQAPPC3B
- C 및 C++ 프로그램의 EQAPPC4B
- 어셈블러 프로그램의 EQAPPC5B
오브젝트 컴파일 출력의 데이터셋명을 기록하십시오. COBOL 프로그램의 경우
데이터셋명은 이름 prefix.SAMPLE.OBJECT(WPP1)와 유사합니다.
이 이름은 오브젝트 모듈을 링크할 때 사용합니다.
Enter를 누르십시오.
- EQAPPA1 패널이 표시되면 Enter를 누르십시오.
- 2단계에서 선택한
언어에 따라 다음 패널 중 하나가 표시됩니다.
- COBOL 프로그램의 EQAPPC1C
- PL/I 프로그램의 EQAPPC3C
- C 및 C++ 프로그램의 EQAPPC4
- 어셈블러 프로그램의 EQAPPC5C
0 또는 4 리턴 코드가 있는지 확인하십시오. 목록 필드에 "b"를 입력하십시오.
Enter를 누르십시오.
- ISRBROBA 패널에서 파일을 찾아서 메시지를 검토하십시오. 메시지를 검토했으면
PF3(종료)을 누르십시오.
- 2단계에서 선택한
언어에 따라 다음 패널 중 하나가 표시됩니다.
- COBOL 프로그램의 EQAPPC1C
- PL/I 프로그램의 EQAPPC3C
- C 및 C++ 프로그램의 EQAPPC4
- 어셈블러 프로그램의 EQAPPC5C
PF3(종료)을 누르십시오.
- 2단계에서 선택한
언어에 따라 다음 패널 중 하나가 표시됩니다.
- COBOL 프로그램의 EQAPPC1B
- PL/I 프로그램의 EQAPPC3B
- C 및 C++ 프로그램의 EQAPPC4B
- 어셈블러 프로그램의 EQAPPC5B
PF3(종료)을 누르십시오.
- 2단계에서 선택한
언어에 따라 다음 패널 중 하나가 표시됩니다.
- COBOL 프로그램의 EQAPPC1.
- PL/I 프로그램의 EQAPPC3
- C 및 C++ 프로그램의 EQAPPC4
- 어셈블러 프로그램의 EQAPPC5
PF3(종료)을 누르십시오.
- EQAPP 패널에서 PF3(종료)을 눌러 EQA@PRIM 패널로 돌아가십시오.
오브젝트 모듈을 링크하려면 다음 단계를 수행하십시오.
- EQA@PRIM 패널에서 1을 선택하십시오. Enter를 누르십시오.
- EQAPP 패널에서 L을 선택하십시오. Enter를 누르십시오.
- EQAPPCL 패널에서 "F"를 지정하여 프로그램을 포그라운드에서
처리하십시오. 그런 후, 2단계에서 선택한
언어에 따라 다음 옵션 중 하나를 선택하십시오.
- COBOL 프로그램의 경우 각 필드에 다음 값을 사용하십시오.
Project = prefix, Group= SAMPLE, Type=OBJECT, Member=WPP1
- PL/I 프로그램의 경우 각 필드에 다음 값을 사용하십시오.
Project = prefix, Group= SAMPLE, Type=OBJECT, Member=WPP3
- C 프로그램의 경우 각 필드에 다음 값을 사용하십시오.
Project = prefix, Group= SAMPLE, Type=OBJECT, Member=WPP4
- 어셈블러 프로그램의 경우 각 필드에 다음 값을 사용하십시오.
Project = prefix, Group= SAMPLE, Type=OBJECT, Member=WPP5
-
EQAPPCL 패널에서 프로그램에 링크하는 데
필요한 다른 라이브러리의 이름을 지정하십시오. 예를 들어, Syslib 데이터셋명 필드에서 CEE 라이브러리의 접두부 'CEE.SCEELKED'를 지정하십시오.
Enter를 누르십시오.
-
EQAPPCLB 패널에서 로드 링크 편집 출력 필드에 데이터셋명을 기록하십시오. 이 이름은 설정 파일을 수정할 때 사용합니다.
Enter를 누르십시오.
- EQAPPA1 패널이 표시되면 Enter를 누르십시오.
- EQAPPCLC 패널에서 0 리턴 코드가 있는지 확인하십시오. 목록 필드에 "V"를
입력하십시오.
Enter를 누르십시오.
- ISREDDE2 패널에서 메시지를 검토하십시오. 메시지를 검토했으면 PF3(종료)을 누르십시오.
- EQAPPCLC 패널에서 PF3(종료)을 누르십시오.
- EQAPPCLB 패널에서 PF3(종료)을 누르십시오.
- EQAPPCL 패널에서 PF3(종료)을 누르십시오.
- EQAPP 패널에서 PF3(종료)을 눌러 EQA@PRIM 패널로 돌아가십시오.
설정 파일 수정 및 사용
이 예제에서는 설정 파일을 수정한 후 사용하여 TSO 포그라운드에서 예제를
실행하고 MVS Batch Job을 제출하여 백그라운드에서 예제를 실행하는 방법을 설명합니다.
포그라운드에서 프로그램 실행
프로그램이 포그라운드에서 실행되도록 설정 파일을 수정하고 실행하려면 다음
단계를 수행하십시오.
-
EQA@PRIM 패널에서 2를 선택하십시오. Enter를 누르십시오.
- EQAPFOR 패널에서 2단계에서 선택한 언어에
따라 다음 선택사항 중 하나를 선택하십시오.
- COBOL 프로그램의 경우 각 필드에 다음 값을 사용하십시오.
Project = prefix, Group= SAMPLE, Type=DTSF, Member
= WSU1
- PL/I 프로그램의 경우 각 필드에 다음 값을 사용하십시오.
Project = prefix, Group = SAMPLE, Type=DTSF, Member=WSU3
- C 프로그램의 경우 각 필드에 다음 값을 사용하십시오.
Project = prefix, Group= SAMPLE, Type=DTSF, Member=WSU4
- 어셈블러 프로그램의 경우 각 필드에 다음 값을 사용하십시오.
Project = prefix, Group= SAMPLE, Type=DTSF, Member=WSU5
Enter를 누르십시오.
- EQAPFORS 패널에서 다음 단계를 수행하십시오.
- &LOADDS를 오브젝트 모듈의 링크 방법을 설명하는
5단계의 로드 데이터셋명으로 바꾸십시오.
- &EQAPRFX를 EQAW(Debug Tool) 라이브러리의 접두부로 바꾸십시오.
- &CEEPRFX를 CEE(Language Environment) 라이브러리의 접두부로 바꾸십시오.
- Cmd 필드에서 CMDS DD 다음에 "e"를 입력하십시오. 표시된 창에서
데이터셋의 끝에 QUIT ; 명령문이 있으면 제거하십시오. PF3(종료)을 누르십시오.
- 명령행에 "run"을 입력하십시오.
Enter를 누르십시오.
- Debug Tool이 시작되고 Debug Tool 창이 표시됩니다. 올바른 Debug Tool 명령을 입력하여
프로그램을 디버깅할 수 있는지 확인하십시오. 명령행에 "qq"를 입력하여
Debug Tool을 중지하고 Debug Tool 창을 닫으십시오.
- EQAPFORS 패널에서 리턴 코드 메시지를 확인하십시오.
- COBOL 프로그램의 경우 리턴 코드(RC)는 0입니다.
- PL/I 프로그램의 경우 리턴 코드(RC)는 1000입니다.
- C 프로그램의 경우 리턴 코드(RC)는 0입니다.
- 어셈블러 프로그램의 경우 리턴 코드(RC)는 0입니다.
PF3(종료)을 누르십시오. 설정 파일의 모든 변경사항이 저장됩니다.
- EQAPFOR 패널에서 PF3(종료)을 눌러 EQA@PRIM 패널로 돌아가십시오.
Batch로 프로그램 실행
프로그램이 Batch로 실행되도록 설정 파일을 수정하고 실행하려면 다음 단계를 수행하십시오.
- EQA@PRIM 패널에서 0을 선택하십시오. Enter를 누르십시오.
- EQAPDEF 패널에서 Job 카드 정보를 검토하십시오. 변경할 사항이 있으면
변경하십시오. PF3(종료)을 누르십시오.
- EQA@PRIM 패널에서 2를 선택하십시오. Enter를 누르십시오.
- EQAPFOR 패널에서 2단계에서 선택한 언어에
따라 다음 선택사항 중 하나를 선택하십시오.
- COBOL 프로그램의 경우 각 필드에 다음 값을 사용하십시오.
Project = prefix, Group = SAMPLE, Type = DTSF, Member
=WSU1
- PL/I 프로그램의 경우 각 필드에 다음 값을 사용하십시오.
Project = prefix, Group = SAMPLE, Type = DTSF, Member
=WSU3
- C 프로그램의 경우 각 필드에 다음 값을 사용하십시오.
Project = prefix, Group = SAMPLE, Type = DTSF, Member = WSU4
- 어셈블러 프로그램의 경우 각 필드에 다음 값을 사용하십시오.
Project = prefix, Group = SAMPLE, Type = DTSF, Member
= WSU5
Enter를 누르십시오.
- 1(포그라운드에서 프로그램
실행) 페이지에서 시작되는 단계를 실행한 경우 이 단계를 건너뛸 수 있습니다.
EQAPFORS 패널에서 다음 단계를 수행하십시오.
- &LOADDS를 오브젝트 모듈의 링크 방법을 설명하는
5단계의 로드 데이터셋명으로 바꾸십시오.
- &EQAPRFX를 EQAW(Debug Tool) 라이브러리의 접두부로 바꾸십시오.
- &CEEPRFX를 CEE(Language Environment) 라이브러리의 접두부로 바꾸십시오.
- Cmd 필드에서 CMDS DD 다음에 "e"를 입력하십시오. 데이터셋의
끝에 'QUIT ;' 명령문이 없으면 명령문을 추가하십시오. PF3(종료)을 누르십시오.
- 그런 후, 명령행에 submit를 입력하십시오.
Enter를 누르십시오.
- ISREDDE2 패널에서 명령행에 submit를 입력하십시오. Enter를 누르십시오. 표시된 Job 번호를 기록하십시오.
- ISREDDE2 패널에서 PF3(종료)을 누르십시오.
- EQAPFORS 패널에서 PF3(종료)을 누르십시오. 설정 파일의 모든 변경사항이 저장됩니다.
- EQAPFOR 패널에서 PF3(종료)을 눌러 EQA@PRIM 패널로 돌아가십시오. 기록한
Job 번호를 사용하여 Job 출력을 찾으십시오. Job 출력의 끝에 0 리턴 코드와
명령 로그 출력이 있는지 확인하십시오.