어셈블러 프로그램 준비

이 장에서는 Debug Tool의 모든 기능을 사용하여 디버깅할 수 있는 어셈블러 프로그램을 준비하는 방법에 대해 설명합니다. 어셈블러 프로그램을 준비하려면 다음 단계를 수행해야 합니다.

  1. 적절한 옵션으로 프로그램을 어셈블하십시오.
  2. EQALANGX 파일을 작성하십시오.
  3. 프로그램을 링크 편집하십시오.

Debug Tool Utilities를 사용하여 어셈블러 프로그램을 준비하는 경우 1단계 및 2단계를 한 번에 수행할 수 있습니다.

프로그램을 어셈블하기 전에

어셈블러 프로그램을 디버깅할 때 대부분의 Debug Tool 명령을 사용할 수 있습니다. 어셈블러 프로그램을 디버깅하는 것과 Debug Tool에서 지원되는 다른 프로그래밍 언어로 작성된 프로그램을 디버깅하는 것 사이에는 다음과 같은 세 가지 차이점이 있습니다.

어셈블러 프로그램이 이러한 요구사항을 충족하는지 확인한 후에 다음 태스크를 수행하여 어셈블러 프로그램을 준비하십시오.

  1. 프로그램 어셈블.
  2. 어셈블러 프로그램의 EQALANGX 파일 작성.

프로그램 어셈블 및 EQALANGX 작성은 Debug Tool Utilities를 사용하여 어셈블러 프로그램을 준비하는 방법에 대해 설명합니다.

프로그램 어셈블

Debug Tool Utilities를 사용하지 않고 프로그램을 어셈블하는 경우 HLASM(High Level Assembler)을 사용하고 SYSADATA DD문 및 ADATA 옵션을 지정해야 합니다. 이것은 어셈블러에서 SYSADATA 파일을 작성합니다. SYSADATA 파일은 Debug Tool에서 사용하는 디버그 정보(EQALANGX 파일)를 생성하는 데 필요합니다.

기타 문제점 판별 툴을 사용 중인 경우, 어셈블러 프로그램을 참조하여 모든 문제점 판별 툴에서 필요한 파일을 작성해야 하는 모든 어셈블러 옵션을 지정했는지 확인하십시오.

어셈블러 프로그램의 EQALANGX 파일 작성

EQALANGX 파일을 작성하려면 EQALANGX 프로그램을 사용하십시오. Debug Tool의 컴포넌트로 제공되는 EQALANGX 프로그램은 IBM® Fault Analyzer의 컴포넌트로 제공되는 IDILANGX와 기능적으로 같습니다. IBM Fault Analyzer가 설치되어 있는 경우, IDILANGX 프로그램의 버전이 Debug Tool과 함께 제공된 EQALANGX 프로그램보다 최신이거나 같으면 IDILANGX 프로그램을 사용하여 EQALANGX 파일을 작성할 수 있습니다. 프로그램의 버전을 확인하려면 다음 단계를 수행하십시오.

  1. IBM Fault Analyzer 문서에 설명된 내용에 따라 EQALANGX 파일을 작성하십시오.
  2. 생성된 EQALANGX 파일의 첫 번째 레코드에서 버전을 확인하여 기록하십시오.
  3. 이 절에 설명된 내용에 따라 EQALANGX 파일을 작성하십시오.
  4. 생성된 EQALANGX 파일의 첫 번째 레코드를 확인하십시오.

IDILANGX를 사용하여 EQALANGX 파일을 작성하도록 선택한 경우 이 지침을 무시해도 됩니다. EQALANGX 파일을 작성하는 지침은 IBM Fault Analyzer 설명서를 참조하십시오.

Debug Tool Utilities를 사용하지 않고 EQALANGX 파일을 작성하려면 JCL을 다음과 같이 사용하십시오.

//XTRACT EXEC PGM=EQALANGX,REGION=32M,
//  PARM='(ASM ERROR LOUD'
//STEPLIB DD DISP=SHR,DSN=hlq.SEQAMOD
//SYSADATA DD DISP=SHR,DSN=yourid.sysadata
//IDILANGX DD DISP=OLD,DSN=yourid.EQALANGX

다음 목록에서는 이 예제에서 사용되는 변수 및 EQALANGX 프로그램과 함께 사용할 수 있는 매개변수를 설명합니다.

PARM=
(ASM
어셈블러 모듈이 처리 중임을 나타냅니다.
ERROR
이 매개변수는 사용하는 것이 좋지만 선택적 매개변수입니다. 이 매개변수를 지정하면 오류가 발견될 때 추가 정보가 표시됩니다.
LOUD
LOUD 매개변수는 권장되지만 선택적입니다. 이 매개변수를 지정하면 추가 정보와 통계 메시지가 표시됩니다.

ERROR 및 LOUD 매개변수를 지정하여 표시된 메시지는 WTO(Write To Operator) 또는 WTP(Write To Programmer) 메시지입니다. IDILANGX 프로그램이 표시하는 메시지 및 리턴 코드에 대한 자세한 정보는 IBM Fault Analyzer for z/OS® 사용자 안내서 및 참조서를 참조하십시오. EQALANGX 프로그램은 같은 메시지를 사용하여 코드를 리턴합니다.

hlq.SEQAMOD
Debug Tool 로드 모듈이 포함된 데이터셋명입니다. Debug Tool 로드 모듈이 시스템 linklib 데이터셋에 있으면 다음 행을 생략할 수 있습니다.
//STEPLIB DD DISP=SHR,DSN=hlq.SEQAMOD
yourid.sysadata
어셈블러의 SYSADATA 출력이 포함된 데이터셋명입니다. 이 데이터셋이 파티셔닝된 데이터셋인 경우 멤버명을 지정해야 합니다. 이 데이터셋의 특성에 대한 정보는 HLASM Programmer’s Guide를 참조하십시오.
yourid.EQALANGX
EQALANGX 디버그 파일을 배치해야 할 데이터셋명입니다. 이 데이터셋은 가변 블록 레코드 포맷(RECFM=VB) 및 1562의 논리 레코드 길이
(LRECL=1562)를 가져야 합니다.

Debug Tool은 파티셔닝된 데이터셋에서 yourid.EQALANGX라는 이름과 어셈블리의 첫 번째 CSECT와 이름이 일치하는 멤버명을 갖는 EQALANGX 디버그 파일을 검색합니다. EQALANGX 디버그 파일의 멤버명이 어셈블리의 첫 번째 CSECT와 일치하기를 원하면 DD문에 멤버명을 지정할 필요가 없습니다. 그렇지 않으면 DD 명령문에 멤버명을 지정해야 합니다. 이 경우 SET SOURCE 명령을 사용하여 Debug Tool에서 EQALANGX 데이터를 포함하는 멤버를 가리켜야 합니다.

Debug Tool은 개인용 코드(이름이 지정되지 않은 CSECT)의 디버깅을 지원하지 않습니다. 어셈블러 프로그램에서 이름이 지정되지 않은 CSECT가 감지되면 EQALANGX가 오류 메시지를 발행합니다.

프로그램 어셈블 및 EQALANGX 작성

Debug Tool Utilities를 사용하면 동시에 프로그램을 어셈블하고 EQALANGX 파일을 작성할 수 있습니다. 다음을 수행하십시오.

  1. Debug Tool Utilities를 시작하십시오. Debug Tool Utilities 패널이 표시됩니다.
  2. 옵션 1 "프로그램 준비"를 선택하십시오. Debug Tool 프로그램 준비 패널이 표시됩니다.
  3. 옵션 5 "어셈블"을 선택하십시오. Debug Tool 프로그램 준비 - High Level Assembler 패널이 표시됩니다. 이 패널에서 HLASM에서 프로그램을 어셈블하기 위해 사용하는 소스 파일의 이름 및 어셈블 옵션을 지정하십시오.

    옵션 5를 사용할 수 없는 경우 시스템 관리자에게 문의하십시오.

  4. Enter를 누르십시오. High Level Assembler - 선택사항 확인 패널이 표시됩니다. 패널에 있는 정보가 올바른지 확인한 다음 Enter를 누르십시오.
  5. 지정한 출력 데이터셋이 존재하지 않으면 해당 데이터셋을 작성하는 데 사용된 옵션을 확인하라는 메시지가 표시됩니다.
  6. Batch 방식으로 처리를 완료할 것을 지정한 경우 Batch Job 실행을 위해 작성된 JCL이 표시됩니다. JCL이 올바른지 확인하고 명령행에 Submit을 입력한 다음 Enter를 누르고 PF3을 누르십시오.
  7. 처리가 완료되면 High Level Assembler - 출력 보기 패널이 표시됩니다. 이 패널은 완료된 각 프로세스의 리턴 코드를 표시하며 입력 및 출력 데이터셋을 보고 편집하거나 찾을 수 있도록 합니다.

패널에서 필드에 대한 자세한 정보를 보려면 커서를 입력 필드에 놓고 PF1을 누르십시오. 패널에 대한 자세한 정보를 보려면 커서를 패널 위에서 입력 필드가 아닌 곳에 놓고 PF1을 누르십시오.

프로그램을 어셈블하고 EQALANGX 파일을 작성한 후에는 프로그램을 링크 편집할 수 있습니다.

프로그램 링크 편집

정상적인 링크 편집 프로시저를 사용하여 프로그램을 링크 편집하거나 다음을 수행하여 Debug Tool Utilities를 사용할 수 있습니다.

  1. Debug Tool 프로그램 준비 패널에서 옵션 L "링크 편집"을 선택하십시오. Debug Tool 프로그램 준비 - 링크 편집 패널이 표시됩니다. 이 패널에서 입력 데이터셋을 지정하고 링커에서 사용할 옵션을 링크 편집하십시오.
  2. Enter를 누르십시오. 링크 편집 - 선택사항 확인 패널이 표시됩니다. 패널에 있는 정보가 올바른지 확인한 다음 Enter를 누르십시오.
  3. 지정한 출력 데이터셋이 존재하지 않으면 해당 데이터셋을 작성하는 데 사용된 옵션을 확인하라는 메시지가 표시됩니다. 옵션을 확인한 후에 Enter를 누르십시오.
  4. Batch 방식으로 처리를 완료할 것을 지정한 경우 Batch Job 실행을 위해 작성된 JCL이 표시됩니다. JCL이 올바른지 확인하고 PF3을 누르십시오.
  5. 처리가 완료되면 링크 편집 - 출력 보기 패널이 표시됩니다. 이 패널은 완료된 각 프로세스의 리턴 코드를 표시하며 입력 및 출력 데이터셋을 보고 편집하거나 찾을 수 있도록 합니다.

패널에서 필드에 대한 자세한 정보를 보려면 커서를 입력 필드에 놓고 PF1을 누르십시오. 패널에 대한 자세한 정보를 보려면 커서를 패널 위에서 입력 필드가 아닌 곳에 놓고 PF1을 누르십시오.

프로그램을 링크 편집한 후에 프로그램을 실행하고 Debug Tool을 시작할 수 있습니다.

어셈블러 프로그램 링크 편집에 대한 제한사항

Debug Tool은 CHANGE 링크문으로 이름을 변경할 때 EQALANGX 멤버를 찾을 수 없습니다. 예를 들어, 『PGM1TEST에 대한 EQALANGX 디버그 파일을 찾을 수 없음』 메시지가 다음 링크문을 사용할 때 표시됩니다.

CHANGE PGMTEST1(PGM1TEST)
INCLUDE LINKLIB(PGMTEST1)