비Language Environment COBOL 프로그램 디버깅

대부분의 Debug Tool 명령을 사용하여 디버그 정보를 사용할 수 있는 비Language Environment COBOL 프로그램을 디버깅할 수 있습니다. 이에 대한 예외사항은 Debug Tool Reference and Messages를 참조하십시오. 비Language Environment COBOL 프로그램을 디버깅하기 전에 비Language Environment COBOL 프로그램 준비의 설명에 따라 프로그램을 준비하십시오.

이 문서에 수록된 정보를 읽을 때 Language Environment 라이브러리를 사용하여 프로그램을 연결하고 실행했다 하더라도 OS/VS COBOL 프로그램은 비Language Environment 라이브러리라는 점을 유념하십시오.

VS COBOL II 프로그램은 NOTEST 컴파일 옵션으로 컴파일하고 비Language Environment 라이브러리에 링크하는 경우 비Language Environment 프로그램입니다. VS COBOL II 프로그램은 TEST 컴파일러 옵션으로 컴파일하고 Language Environment 라이브러리에 링크하는 경우 Language Environment 프로그램입니다.

비Language Environment COBOL 관련 정보가 제공되지 않는 경우 Debug Tool을 시작하고 비Language Environment COBOL 프로그램을 디버깅하는 방법에 대한 지시사항은 비Language Environment 프로그램 관련 정보를 참조하십시오.

비Language Environment COBOL 프로그램의 디버그 정보 로드

LOADDEBUGDATA(LDD) 명령을 사용하여 Debug Tool에게 컴파일 단위가 비Language Environment COBOL 컴파일 단위임을 표시하고 해당 컴파일 단위와 연관된 디버그 정보를 로드하십시오. LDD 명령은 디스어셈블리 컴파일 단위로 간주되는 컴파일 단위에만 사용할 수 있습니다. 다음 예제에서 mypgm은 OS/VS COBOL 프로그램 LDD mypgm의 컴파일 단위 이름입니다.

Debug Tool은 yourid.EQALANGX(mypgm) 데이터셋에서 디버그 정보를 찾습니다. Debug Tool이 이 데이터셋을 찾으면 비Language Environment COBOL 프로그램 디버깅을 시작할 수 있습니다. Debug Tool이 이 데이터셋을 찾지 못하면 SET SOURCE 또는 SET DEFAULT LISTINGS 명령을 입력하여 디버그 정보를 찾아야 할 위치를 Debug Tool에 알려 주십시오. 원격 디버그 모드에서는, 프로그램으로 step into할 때 원격 디버거가 데이터셋 정보가 있는 위치를 묻는 프롬프트를 표시합니다.

일반적으로 DESCRIBE CUS 또는 LIST NAMES CUS 명령을 입력하면 디버그 정보가 없는 컴파일 단위는 나열되지 않습니다. 이러한 컴파일 단위를 포함시키려면 SET ASSEMBLER ON 명령을 입력하십시오. 다음에 DESCRIBE CUS 또는 LIST NAMES CUS 명령을 입력할 때는 이러한 컴파일 단위가 나열됩니다.

비Language Environment COBOL 프로그램을 디버깅하는 동안의 Debug Tool 세션 패널

아래의 Debug Tool 세션 패널은 비Language Environment COBOL 프로그램을 디버그하는 동안 소스 창에 표시되는 정보를 나타냅니다.

 1 NL COBOL 위치: COB03O 초기화
Command ===>                                                   Scroll ===> PAGE
모니터  --+----1----+----2----+----3----+----4----+----5----+----6      행: 0/0
*******************************  모니터 맨 위  ********************************
********************************  모니터의 끝  ********************************
소스: COB03O ---1----+----2----+----3----+----4----+----5----+        행: 1/111
    2  1     3 ******************************************************         .
       2       *  PROGRAM NAME: COB03O                              *         .
       3       *                                                    *         .
       4       *  COMPILED WITH IBM OS/VS COBOL COMPILER            *         .
       5       ******************************************************         .
       7        IDENTIFICATION DIVISION.                                      .
       8        PROGRAM-ID. COB03O.                                           .
       9       ************************************************************** .
      10       *                                                              .
      11       * LICENSED MATERIALS - PROPERTY OF IBM                         .
      12       *                                                              .
      13       * 5655-P14: Debug Tool for z/OS
      14       * (C) Copyright IBM Corp. 2004 All Rights Reserved
      15       *                                                              .
      16       * US GOVERNMENT USERS RESTRICTED RIGHTS - USE, DUPLICATION OR  .
      17       * DISCLOSURE RESTRICTED BY GSA ADP SCHEDULE CONTRACT WITH IBM  .
      18       * CORP.                                                        .
      19       *                                                              .
      20       *                                                              .
      21       ************************************************************** .
      22        ENVIRONMENT DIVISION.                                         .
      23        DATA DIVISION.                                                .
로그 0----+----1----+----2----+----3----+----4----+----5----+----6-     행: 1/7
********************************* 로그 맨 위 **********************************
IBM Debug Tool 버전 11 릴리스 1 모드 0
11/06/2010 4:11:41 PM
5655-W45: Copyright IBM Corp. 1992, 2010
0004 *** 명령 파일 명령이 뒤따름 ***
0005  SET MSGID ON ;                                                           
0006  LDD ( COB03O, COB03AO ) ;                                                
0007 EQA1891I *** 명령 파일 명령 끝 ***
********************************** 로그의 끝 **********************************
                                                                               
                                                                               
PF  1:?          2:STEP       3:QUIT       4:LIST       5:FIND       6:AT/CLEAR
PF  7:UP         8:DOWN       9:GO        10:ZOOM      11:ZOOM LOG  12:RETRIEVE

소스 창에 표시되는 정보는 COBOL 컴파일러에서 생성되는 목록과 비슷합니다. 소스 창에는 다음 정보가 표시됩니다.

 1  NL COBOL
현재 소스 프로그램이 비Language Environment COBOL임을 표시합니다.
 2  행 번호
행 번호는 EQALANGX가 소스 행에 순서대로 번호를 매겨 지정한 번호입니다. 이 열의 번호를 사용하여 중단점을 설정하고 명령문을 식별하십시오.
 3  소스 명령문
원본 소스 명령문입니다.

비Language Environment COBOL 프로그램 디버깅 제한사항

비Language Environment COBOL 프로그램을 디버깅하는 경우에는 다음과 같은 일반적인 제한사항이 적용됩니다.

비Language Environment COBOL 프로그램에 사용할 수 있는 %PATHCODE 값

다음 표는 현재 프로그래밍 언어가 비Language Environment COBOL인 경우 Debug Tool 변수 %PATHCODE의 가능한 값을 나타냅니다.

%PATHCODE 항목 유형
1 블록에 들어갔습니다.
3 프로그램에 코딩된 레이블에 제어가 도달했습니다.

비Language Environment 프로그램 디버그 관련 제한사항

프로그램을 시작할 때 NOPROMPT 하위 옵션과 함께 TEST 런타임 옵션을 지정했으며 이후에 CALL CEETEST를 통해 또는 Language Environment 조건이 발생하여 Debug Tool이 시작된 경우, Language Environment와 비Language Environment 프로그램을 모두 디버깅할 수 있으며 Debug Tool을 시작한 enclave와 이후의 enclave에서 Language Environment 이벤트와 비Language Environment 이벤트를 모두 검색할 수 있습니다. 상위 레벨 enclave에서는 비Language Environment 프로그램을 디버깅하거나 비Language Environment 이벤트를 검색할 수 없습니다. Debug Tool이 시작된 enclave에서 제어가 리턴된 후에는 더 이상 비Language Environment 프로그램을 디버깅하거나 비Language Environment 이벤트를 검색할 수 없습니다.