PL/I 프로그램에 대해 TEST 또는 NOTEST 컴파일러 하위 옵션 선택
이 주제에서는 원하는 디버깅 시나리오를 만들기 위해 지정해야 하는 TEST 컴파일러 옵션 및 하위 옵션 조합에 대해 설명합니다. 이 주제는 PL/I 프로그램을 z/OS®Enterprise PL/I 용, 버전 3.5 이상으로 컴파일하는 것을 전제로 합니다. 그러나 이 주제들은 PL/I 컴파일러의 이전 버전에 사용할 수 있는 대안에 대한 정보도 제공합니다.
PL/I 컴파일러는 TEST 컴파일러 옵션 및 해당 하위 옵션을 제공하여 다음 조치를 제어합니다.
- 명령문 및 기호 테이블의 생성 및 배치입니다.
- 프로그램 오브젝트 또는 개별 디버그 파일에 디버그 정보 배치.
- 소스 파일 컨텐츠를 프로그램 오브젝트에 배치하거나 배치하지 않습니다.
z/OS 디버거는 최적화된 PL/I 프로그램의 디버깅을 지원하지 않습니다. NOOPTIMIZE가 아닌 컴파일러 옵션을 사용하지 마십시오.
다음 지시사항은 프로그램을 디버깅해야 하는 기능을 제공하는 TEST 컴파일러 하위 옵션 조합을 선택하는 데 사용됩니다.
- 사이트 자원을 고려하여 다음 목록에서 디버깅 시나리오를 선택하십시오.
- 시나리오 A: Enterprise PL/I for z/OS, 버전 6.1 이상 (APAR PH50085포함) 을 사용 중이고 소스 위치를 제공하지 않고 소스에 액세스하려는 경우,
TEST(NOSEPARATE,SOURCE)및GOFF를 사용하십시오.TEST(NOSEPARATE,SOURCE)를 사용하면GOFF오브젝트에서 캡처된 소스 컨텐츠가TEST(SEPERATE)로 컴파일할 때 디버그 부가 파일에서 캡처된 소스 컨텐츠와 동일한 방식으로LISTVIEW옵션에 의해 제어됩니다. - 시나리오 B: z/OS 버전 3.8 이상을 Enterprise PL/I 사용 중이며, z/OS 디버거 기능을 최대한 활용하고 프로그램 크기를 최소화하려면 와 컴파일러
LISTVIEW(SOURCE)TEST(ALL,NOHOOK,SYM,SEPARATE)옵션을 사용하십시오. 보호된 스토리지로 로드된 프로그램을 디버깅해야 하는 경우 사이트에서 승인된 디버그 기능을 설치했는지 확인하십시오.다음 옵션을 고려하십시오.- z/OS 의 버전 4 Enterprise PL/I 이상을 사용 중인 경우, 프로그램 크기를 줄이는 데 도움이 될 수 있는 컴파일러
GONUMBER(SEPARATE)옵션을 지정할 수 있습니다. - Enterprise PL/I for z/OS Programming Guide에 설명된 대로
LISTVIEW하위 옵션 (SOURCE,AFTERALL,AFTERCICS,AFTERMACRO또는AFTERSQL) 중 하나를 지정하여 원래 소스 또는 지정된 프리프로세서 이후의 소스를 표시할 수 있습니다.참고: 에 대한 하위 옵션으로 외의 다른LISTVIEWSOURCE옵션이 지정된 경우,TEST(SEPERATE)도 반드시 지정해야 합니다. - 전체 화면 모드에서 디버깅 중이고 실행 가능 코드가 있는 INCLUDE 파일로 프로그램을 디버그하려는 경우
LISTVIEW(AFTERMACRO)컴파일러 옵션을 지정하고MACRO컴파일러 옵션을 지정하지 않은 경우PP(MACRO(INCONLY))컴파일러 옵션을 지정하십시오. - 원격 디버그 모드에서 디버깅 중이고 INCLUDE 파일에서 변수를 자동으로 모니터하려는 경우
LISTVIEW(AFTERMACRO)컴파일러 옵션을 지정하고,MACRO컴파일러 옵션을 지정하지 않는 경우PP(MACRO(INCONLY))컴파일러 옵션을 지정하십시오.
다른 Application Delivery Foundation for z/OS 도구를 사용하는 경우, IBM® 의 Application Delivery Foundation for z/OS 공통 구성 요소 사용자 지정 가이드 및 사용자 가이드에서 " Enterprise PL/I " 항목( 3.5 버전 및 3.6 버전 프로그램)을 참조하여 모든 Application Delivery Foundation for z/OS 도구에 필요한 파일을 생성하는 데 필요한 모든 컴파일러 옵션을 지정했는지 확인하십시오.
- z/OS 의 버전 4 Enterprise PL/I 이상을 사용 중인 경우, 프로그램 크기를 줄이는 데 도움이 될 수 있는 컴파일러
- 시나리오 C: z/OS 에서 버전 3.7Enterprise PL/I 을 사용 중이며, z/OS 디버거의 최대 기능과 작은 프로그램 크기를 원한다면 를
TEST(ALL,NOHOOK,SYM,SEPARATE,SOURCE)사용하십시오. 보호된 스토리지로 로드된 프로그램을 디버깅해야 하는 경우 사이트에서 승인된 디버그 기능을 설치했는지 확인하십시오.다음 옵션을 고려하십시오.- Enterprise PL/I for z/OS Programming Guide에 설명된 대로
SOURCE를AFTERALL,AFTERCICS,AFTERMACRO또는AFTERSQL로 대체할 수 있습니다. - 전체 화면 모드에서 디버깅 중이고 실행 가능 코드가 있는 INCLUDE 파일로 프로그램을 디버그하려는 경우,
TEST(ALL,NOHOOK,SYM,SEPARATE,AFTERMACRO)컴파일러 옵션을 지정하고MACRO컴파일러 옵션을 지정하지 않은 경우PP(MACRO(INCONLY))컴파일러 옵션을 지정하십시오. - 원격 디버그 모드에서 디버깅 중이고 INCLUDE 파일에서 변수를 자동 모니터하려는 경우
TEST(ALL,NOHOOK,SYM,SEPARATE,AFTERMACRO)컴파일러 옵션을 지정하고,MACRO컴파일러 옵션을 지정하지 않는 경우PP(MACRO(INCONLY))컴파일러 옵션을 지정하십시오.
다른 Application Delivery Foundation for z/OS 도구를 사용하는 경우, IBM 의 Application Delivery Foundation for z/OS 공통 구성 요소 사용자 지정 가이드 및 사용자 가이드에서 " Enterprise PL/I " 항목( 3.5 버전 및 3.6 버전 프로그램)을 참조하여 모든 Application Delivery Foundation for z/OS 도구에 필요한 파일을 생성하는 데 필요한 모든 컴파일러 옵션을 지정했는지 확인하십시오.
- Enterprise PL/I for z/OS Programming Guide에 설명된 대로
- 시나리오 D: z/OS, 버전 Enterprise PL/I3.5 또는 3.6 을 사용 중이며, z/OS 디버거의 대부분의 기능과 작은 프로그램 크기를 원한다면 를
TEST(ALL,NOHOOK,SYM,SEPARATE)사용하십시오. 보호된 스토리지로 로드된 프로그램을 디버깅해야 하는 경우 사이트에서 승인된 디버그 기능을 설치했는지 확인하십시오.다른 Application Delivery Foundation for z/OS 도구를 사용하는 경우, IBM 의 Application Delivery Foundation for z/OS 공통 구성 요소 사용자 지정 가이드 및 사용자 가이드에서 " Enterprise PL/I " 항목( 3.5 버전 및 3.6 버전 프로그램)을 참조하여 모든 Application Delivery Foundation for z/OS 도구에 필요한 파일을 생성하는 데 필요한 모든 컴파일러 옵션을 지정했는지 확인하십시오.
- 시나리오 E: Enterprise PL/I for z/OS, 버전 3.4를 사용 중이고 컴파일된 후크 없이 프로그램을 디버그하려는 경우
TEST(ALL,NOHOOK,SYM)를 사용하십시오. 보호된 스토리지로 로드된 프로그램을 디버깅해야 하는 경우 사이트에서 승인된 디버그 기능을 설치했는지 확인하십시오.다른 Application Delivery Foundation for z/OS 도구를 사용하는 경우, Enterprise PL/I Version 3.4 및 IBM Application Delivery Foundation for z/OS Common Components Customization Guide and User Guide의 이전 프로그램 항목을 참조하여 모든 Application Delivery Foundation for z/OS 도구에 필요한 파일을 생성하는 데 필요한 모든 컴파일러 옵션을 지정했는지 확인하십시오.
- 시나리오 F: Enterprise PL/I for z/OS, 버전 3.3 이하를 사용 중이고 모든 z/OS Debugger 기능을 가져오려면
TEST(ALL,SYM)를 사용하십시오.다른 Application Delivery Foundation for z/OS 도구를 사용하는 경우, Enterprise PL/I Version 3.4 및 이전 프로그램 또는 PL/I ( MVS ™ 및 VM용) 또는 OS PL/I ( IBM 용)의 Application Delivery Foundation for z/OS 공통 구성 요소 사용자 지정 가이드 및 사용자 가이드를 참조하여 모든 Application Delivery Foundation for z/OS 도구에 필요한 파일을 생성하는 데 필요한 모든 컴파일러 옵션을 지정했는지 확인하십시오.
- 시나리오 G:
NOTEST컴파일러 옵션으로 컴파일하여 일부 z/OS Debugger 기능을 가져올 수 있습니다. 이 경우 프로그램을 디스어셈블리 모드에서 디버깅해야 합니다.기타 Application Delivery Foundation for z/OS 도구를 사용하는 경우, 다음 목록에서 사용 중인 컴파일러에 해당하는 IBM Application Delivery Foundation for z/OS Common Components Customization Guide and User Guide 의 주제를 검토하여 모든 Application Delivery Foundation for z/OS 도구에 필요한 파일을 작성하는 데 필요한 모든 컴파일러 옵션을 지정하는지 확인하십시오.- Enterprise PL/I 버전 3.5 및 버전 3.6 프로그램
- Enterprise PL/I 버전 3.4 이전 프로그램
- PL/I for MVS(tm) and VM 및 OS PL/I 프로그램
- 시나리오 A: Enterprise PL/I for z/OS, 버전 6.1 이상 (APAR PH50085포함) 을 사용 중이고 소스 위치를 제공하지 않고 소스에 액세스하려는 경우,
- 시나리오 A, B, C, D, F및 G의 경우 다음 단계를 수행하십시오.
- 동적 디버그 기능을 사용하여 읽기 전용 스토리지에 상주하는 프로그램에 후크를 배치하는 경우 시스템 관리자에게 승인된 디버그 기능이 설치되어 있고 이 기능을 사용할 수 있는 권한이 있는지 확인하십시오.
- z/OS Debugger를 시작한 후
QUERY DYNDEBUG명령을 입력하여 Dynamic Debug 기능을 비활성화하지 않았는지 확인하십시오. - 개별 디버그 파일 이 임시 파일이 아니며 디버그 세션 중에 사용 가능한지 확인하십시오.
- 다음 태스크 중 수행해야 하는 태스크가 있는지 확인하십시오.
프로그램을 컴파일할 때 SYSIN을 인스트림 데이터 세트 (예: // SYSIN DD *) 와 연관시키지 마십시오. z/OS Debugger 를 사용하려면 디버깅 중인 프로그램의 소스에 대한 영구 데이터 세트에 액세스해야 하기 때문입니다.
- PL/I for MVS & VM 또는 OS PL/I 프로그램을 컴파일하고 디버깅 시 전체 화면 모드로 리스팅을 보려면, 해당 프로그램을 컴파일러
SOURCE옵션으로 컴파일해야 합니다.SOURCE컴파일러 옵션은 목록 파일을 생성하는 데 필요합니다. 목록을 디버그 세션 중에 사용할 수 있는 비 임시 파일로 지정해야 합니다. 디버깅 세션 중, z/OS 디버거는 소스 창에서 라는userid.pgmname.list이름의 파일을 처음 발견하면 표시합니다. 또한, 프로그램은 반드시 Language Environment®SCEELKED라이브러리와 링크해야 합니다. OS PL/IPLIBASE또는SIBMBASE라이브러리를 사용하지 마십시오.z/OS Debugger 가 이 위치에서 목록을 찾을 수 없는 경우, 소스 창에 표시되는 파일 변경을 참조하십시오.
컴파일러 옵션 및 하위 옵션을 선택한 후 디버그 세션 계획 을 참조하여 완료해야 하는 다음 태스크를 판별하십시오.
| 컴파일러 옵션 또는 하위 옵션 이름 | 영향에 대한 설명 |
|---|---|
| NOTEST |
|
| NOHOOK |
|
| 없음 | PL/I 프로그램을 컴파일할 때 |
| SYM |
|
| NOSYM |
|
| BLOCK |
|
| STMT |
|
| 모두 |
|
이 절에서 설명하는 자료와 연관된 자세한 정보에 대해서는 다음 주제를 참조하십시오.
- 관련 참조
- Enterprise PL/I for z/OS Programming Guide의
TEST컴파일러 옵션에 대한 설명입니다.