Debug Tool: 개요

Debug Tool을 사용하면 z/OS 시스템에서 프로그램을 테스트하고 어셈블러, C, C++, COBOL 또는 PL/I로 작성된 프로그램의 실행을 조사, 모니터 및 제어할 수 있습니다. 애플리케이션이 다른 언어를 포함할 수도 있으므로 Debug Tool은 시스템 코드 레벨에서 애플리케이션의 해당 부분을 디버깅할 수 있는 디스어셈블리 보기를 제공합니다. 그러나 디스어셈블리 보기에서는 디버그 기능이 제한됩니다. 표 2표 3은 Debug Tool에서 지원되는 컴파일러 및 서브시스템의 조합 계획을 설명한 것입니다.

Debug Tool을 사용하여 Batch 모드에서 프로그램을 디버깅할 수 있습니다. 전체 화면 모드 또는 원격 디버그 모드에서는 대화식으로 디버깅할 수 있습니다.

표 2는 Debug Tool 인터페이스 및 각 인터페이스가 지원하는 컴파일러 또는 어셈블러에 대해 설명합니다.

표 2. 컴파일러 또는 어셈블러별 Debug Tool 인터페이스 유형
컴파일러 또는 어셈블러 Batch 모드 전체 화면 모드 원격 디버그 모드
OS/VS COBOL, 버전 1 릴리스 2.4(제한사항 있음) X X
VS COBOL II 버전 1 릴리스 3 및 버전 1 릴리스 4(TEST 컴파일러 옵션으로 컴파일하고 Language Environment 라이브러리에 링크된 프로그램의 경우 제한사항 있음) X X X
VS COBOL II 버전 1 릴리스 3 및 버전 1 릴리스 4(NOTEST 컴파일러 옵션으로 컴파일하고 비Language Environment 라이브러리에 링크된 프로그램의 경우 제한사항 있음) X X
AD/Cycle® COBOL/370 버전 1 릴리스 1 X X
COBOL for MVS & VM X X X
COBOL for OS/390® & VM X X X
Enterprise COBOL for z/OS 및 OS/390 X X X
Enterprise COBOL for z/OS® X X X
OS PL/I 버전 2 릴리스 1, 버전 2 릴리스 2, 버전 2 릴리스 3(제한사항 있음) X X
PL/I for MVS & VM X X
Enterprise PL/I for z/OS 및 OS/390 X X X
Enterprise PL/I for z/OS X X X
AD/Cycle C/370™ 버전 1 릴리스 2 X X
C/C++ for MVS/ESA 버전 3 릴리스 2 X X
OS/390의 C/C++ 기능 버전 1 릴리스 3 이전 버전 X X
OS/390의 C/C++ 기능 버전 2 릴리스 10 이전 버전 X X X
z/OS의 C/C++ 기능 X X X
IBM® High Level Assembler(HLASM), 버전 1 릴리스 4, 버전 1 릴리스 5 및 버전 1 릴리스 6 X X X

표 3은 Debug Tool 인터페이스 및 각 인터페이스가 지원하는 서브시스템에 대해 설명합니다.

표 3. 서브시스템별 Debug Tool 인터페이스 유형
서브시스템 Batch 모드 전체 화면 모드 전용 터미널을 통한 전체 화면 모드 원격 디버그 모드
TSO X X X X
JES Batch X X X
UNIX® System Services X X
CICS® X1 X
DB2® X X X X
DB2 스토어드 프로시저 X X
IMS™ TM X X
IMS Batch X X X
IMS BTS X X X
ALCS(Airline Control System) X2
1 전체 화면 모드에서 CICS 프로그램을 디버그하는 데 서로 다른 세 가지
방법(단일 터미널 모드, 화면 제어 모드 및 개별 터미널 모드)을 사용할 수 있습니다.
2 C 및 C++ 프로그램 전용입니다.

이 절에서 설명하는 자료와 연관된 자세한 정보에 대해서는 다음 주제를 참조하십시오.

Debug Tool 인터페이스

전체 화면 모드, Batch 모드원격 디버그 모드는 Debug Tool이 제공하는 디버그 인터페이스의 유형을 나타냅니다.

Batch 모드

Debug Tool 명령 파일을 사용하면 실행 중인 Batch 애플리케이션에서 일련의 Debug Tool 명령이 수행되도록 미리 정의할 수 있습니다. Batch 애플리케이션의 Batch 디버그에는 터미널 입력 또는 사용자 상호작용을 사용할 수 없습니다. 디버그 세션의 결과는 로그에 저장되어 나중에 볼 수 있습니다.

전체 화면 모드

Debug Tool은 디버그 정보를 표시하는 창이 세 개인, 3270 장치에 대한 대화식 전체 화면 인터페이스를 제공합니다.

전체 화면 모드에서는 Debug Tool에서 지원되는 언어를 모두 디버깅할 수 있습니다.

이 절에서 설명하는 자료와 연관된 자세한 정보에 대해서는 다음 주제를 참조하십시오.

전용 터미널을 통한 전체 화면 모드

전용 터미널을 통한 전체 화면 모드는 전체 화면 모드가 제공하는 동일한 대화식 전체 화면 인터페이스를 제공하고 전체 화면 모드로 디버그할 수 없는 프로그램 유형을 디버그할 수 있도록 합니다. 예를 들어, MVS/JES에서 실행 중인 COBOL Batch Job, DB2 스토어드 프로시저, IMS MPP 리젼에서 실행 중인 IMS, UNIX System Services에서 실행 중인 애플리케이션을 디버깅할 수 있습니다.

전용 터미널을 통한 전체 화면 모드에서는 두 번째 터미널인 전용 터미널을 시작해야 하고, 애플리케이션을 디버그하는 데 사용해야 합니다. 사이트는 이 모드에서 선택적으로 Debug Tool Terminal Interface Manager를 사용하여 LU명 대신 사용자 ID로 Debug Tool의 해당 터미널을 식별할 수 있습니다.

사용자 시스템의 전용 터미널을 통한 전체 화면 모드를 사용할 수 있는 터미널에 액세스하는 방법을 판별하려면 시스템 관리자에게 문의하십시오.

원격 디버그 모드

원격 디버그 모드에서 호스트 애플리케이션은 TCP/IP 연결을 통해 Windows® 워크스테이션에서 원격 디버거와 통신하는 Debug Tool을 시작합니다.

Debug Tool은 워크스테이션에서 GUI(Graphical User Interface)를 통해 Batch 프로그램을 포함하는 호스트 프로그램을 디버그할 기능을 제공하기 위해 원격 디버거에 대해 작업할 수 있습니다. Debug Tool은 다음 원격 디버거에 대해 작업합니다.

원격 디버거의 Debug Console을 통해 일부 Debug Tool 명령을 입력할 수 있습니다. 입력할 수 있는 Debug Tool 명령의 목록은 Debug Tool Reference and Messages의 『원격 디버그 모드에서 지원되는 Debug Tool 명령』을 참조하십시오.

IBM Debug Tool DTCN 및 DTSP 프로파일 관리자 플러그인이 원격 디버그 모드에서 작업하는 것을 더 편리하게 할 수 있습니다. 플러그인은 원격 디버거의 디버그 Perspective에 다음 보기를 추가합니다.

이러한 플러그인의 설치 및 구성 방법에 대해 학습하려면 부록I. IBM Debug Tool DTCN 및 DTSP 프로파일 관리자 플러그인 설치를 참조하십시오.

Debug Tool Utilities

Debug Tool Utilities는 디버깅 세션 관리를 도와주는 툴에 액세스할 수 있는 ISPF 패널 세트입니다. 이 주제에서는 이 툴에 대해 설명합니다.

Debug Tool Utilities: Job 카드

이 툴(옵션 0, Job 카드)을 사용하면 프로그램 준비(옵션 1), Debug Tool 설정 파일(옵션 2) 및 Batch 디버깅을 위한 JCL(옵션 8)에서 툴이 사용하는 JOB 카드를 작성할 수 있습니다.

Debug Tool Utilities: 프로그램 준비

프로그램 준비(옵션 1)에서 툴 세트는 프로그램을 컴파일 또는 어셈블하고 링크하는 데 필요한 모든 태스크를 관리하도록 도와줍니다. 또한 CICS CCCA(Command Level Conversion Aid)를 사용하여 이전의 COBOL 소스 코드와 카피북을 새 버전의 COBOL로 변환하도록 도와줍니다. 프로그램 준비 옵션은 사이트에 빌드 프로세스를 설정하지 않는 경우 매우 유용합니다. 다음 목록은 프로그램 준비를 사용하는 경우 도움이 되는 특정 작업에 대해 설명합니다.

Debug Tool Utilities: Debug Tool 설정 파일

설정 파일을 사용하면 여러 번 재시작해야 하는 프로그램을 디버깅할 때 시간을 절약할 수 있습니다. 설정 파일은 필요한 파일을 할당하고 MVS Batch 또는 TSO 포그라운드에서 Debug Tool로 단일 Job 단계를 실행하는 데 필요한 정보를 저장합니다. 각 프로그램에 대해 여러 설정 파일을 작성할 수 있으며, 각 설정 파일은 다른 환경에서 프로그램을 시작하고 실행하는 데 대한 정보를 저장할 수 있습니다. 설정 파일을 작성하고 관리하려면 Debug Tool 설정 파일(옵션 2)을 선택하십시오.

Debug Tool Utilities: 코드 적용 범위

코드 적용 범위를 결정하면 테스트 케이스를 개선하여 프로그램을 더 철저히 테스트할 수 있습니다. Debug Tool Utilities는 사용자의 테스트 케이스에 의해 어떤 코드 명령문이 실행되었는지 보고하는 툴인 Debug Tool Coverage Utility를 제공합니다. 보고서를 참고하여 테스트 케이스가 이전에 실행하지 않은 코드 명령문을 실행하도록 개선할 수 있습니다. 이 툴을 사용하려면 코드 적용 범위(옵션 3)를 선택하십시오.

Debug Tool Utilities: IMS TM 설정

다른 리젼을 방해하지 않고 테스트 애플리케이션을 디버깅하는 데 사용할 수 있는 개인용 IMS 메시지 리젼을 작성할 수 있습니다. IMSplex 사용자의 경우 애플리케이션을 다시 링크하지 않고도 Language Environment 런타임 매개변수 테이블을 수정할 수 있습니다. 이 태스크를 완료하도록 도와주는 툴은 옵션 4, IMS TM 설정에 있습니다.

Debug Tool Utilities: Load Module Analyzer

Debug Tool Load Module Analyzer는 MVS 로드 모듈 또는 프로그램 오브젝트를 분석하여 각 CSECT용 오브젝트를 생성하는 데 사용할 언어 변환기(컴파일러 또는 어셈블러)를 결정합니다. 이 태스크를 완료하도록 도와주는 툴은 옵션 5, Load Module Analyzer에 있습니다.

Debug Tool Utilities: Debug Tool 사용자 EXIT 데이터셋

이 기능은 Debug Tool Language Environment® 사용자 EXIT에서 TEST 런타임 옵션 데이터셋을 준비하도록 도와줍니다. Debug Tool Language Environment 사용자 EXIT는 이 TEST 런타임 옵션 문자열을 사용하여 디버그 세션을 시작합니다. 이 태스크를 완료하도록 도와주는 툴은 Debug Tool Utilities의 옵션 6, Debug Tool 사용자 EXIT 데이터셋에 있습니다.

Debug Tool Utilities: 기타 IBM Problem Determination Tools

이 기능은 IBM File Manager ISPF 기능에 대한 인터페이스를 제공합니다. 이 툴은 Debug Tool Utilities의 옵션 7, 기타 IBM Problem Determination Tools에 있습니다.

Debug Tool Utilities: Batch 디버깅을 위한 JCL

Job이 실행될 때 Debug Tool이 시작되도록 Batch Job에 대한 JCL을 수정하십시오. 이 태스크를 완료하도록 도와주는 툴은 Debug Tool Utilities의 옵션 8, Batch 디버깅을 위한 JCL에 있습니다.

Debug Tool Utilities: IMS BTS 디버깅

IMS BTS 디버깅 옵션을 사용하면 프로그램에 대한 런타임 환경을 작성해야 하는 정보를 저장해서 IMS BTS 프로그램을 실행하고 이를 설정 파일에 디버그할 수 있도록 합니다. Debug Tool Utilities는 설정 파일의 정보를 사용하여 포그라운드에서 실행하거나 Batch Job으로 제출할 수 있는 적합한 JCL문을 작성합니다.

Debug Tool Utilities 시작

Debug Tool Utilities는 다음 방법 중 하나를 사용하여 시작할 수 있습니다.

시스템에서 어떤 방법을 사용할 것인지 결정하려면 시스템 관리자에게 문의하십시오.

common_parameters는 선택적이며 Debug Tool Coverage Utility User’s Guide and Messages의 부록 E에서 설명하는 모든 매개변수를 지정합니다. 옵션이 여러 개이면 공백으로 구분됩니다. 이러한 common_parameters를 지정하면 설정이 EQASTART에 의해 기억되어 매개변수를 지정하지 않은 경우에 EQASTART의 후속 시작에 대한 기본값이 됩니다.