Debug Tool 명령은 전체 화면, 행, Batch의 세 모드로 실행할 수 있습니다. 일부 Debug Tool 명령은 특정 모드나 프로그래밍 언어에서만 유효합니다. 별도로 명시하지 않는 한 Debug Tool 명령은 모든 모드와 지원되는 모든 언어에서 유효합니다.
터미널에서 입력 내용을 직접 입력할 경우, 1열부터 시작하여 형식에 구애받지 않고 입력할 수 있습니다.
한 행에 여러 명령을 입력할 때는 세미콜론(;)을 사용하여 각 명령을 구분하십시오. 단일 명령이나 명령 순서의 마지막 명령에는 끝나는 세미콜론을 사용해도 되고 사용하지 않아도 됩니다.
명령 파일이나 USE 파일에서 가져온 입력의 경우, C block 명령을 제외한 모든 Debug Tool 명령을 세미콜론으로 끝내야 합니다.
이 절에서 설명하는 자료와 연관된 자세한 정보에 대해서는 다음 주제를 참조하십시오.
Debug Tool 세션의 현재 프로그래밍 언어 설정이나 DBCS(2바이트 문자 세트)에 따라 문자 세트와 대소문자가 달라집니다.
DBCS 설정이 ON이면 모든 Debug Tool 명령의 다음 부분에 DBCS 문자를 지정할 수 있습니다.
DBCS 설정이 OFF일 때는 2바이트 데이터가 올바르게 해석되거나 표시되지 않습니다. 그러나 DBCS 표시기 대신 시프트인 및 시프트아웃 코드를 데이터로 사용하는 경우에는 SET DBCS OFF를 실행해야 합니다.
전체 화면 모드로 디버깅하고 있으며 터미널에서 DBCS를 사용할 수 없는 경우에는 SET DBCS ON 명령을 사용할 수 없습니다.
C와 C++ 둘 다에 대해 Debug Tool은 프로그래밍 언어를 C로 설정합니다. 현재 프로그래밍 언어 설정이 C인 경우 다음 규칙이 적용됩니다.
현재 프로그래밍 언어 설정이 C가 아닐 경우에는 일반적으로 대문자, 소문자 또는 두 가지를 함께 사용하여 명령을 입력할 수 있습니다. a - z 범위에 있는 문자는 주석 및 따옴표 안의 리터럴 외에는 자동으로 대문자로 변환됩니다. 또한 PL/I에서는 "|"과 "¬"만 OR과 NOT의 부울 연산자로 사용할 수 있습니다.
Debug Tool 명령을 발행할 때 가장 일반적인 키워드는 자를 수 있습니다. 그러나 여러 프로그래밍 언어용 예약어, 시스템 키워드(SYS, SYSTEM 또는 TSO), BEGIN, CALL, COMMENT, COMPUTE, END, FILE(SET INTERCEPT 및 SET LOG 명령에서 사용됨), GOTO, INPUT, LISTINGS(SET DEFAULT LISTINGS 명령에서 사용됨) 또는 USE와 같이 특수 대소문자를 갖는 키워드는 자를 수 없습니다. 또한 PROCEDURE는 PROC로만 단축시킬 수 있습니다.
시스템 키워드와 COMMENT, INPUT 및 USE 키워드는 다른 키워드 및 식별자보다 우선 순위가 높습니다. 이러한 키워드 다음에 공백이 나오면 이에 해당하는 명령으로 구문 분석됩니다. 따라서 TSO라는 변수에 값 2를 지정하려고 하고 현재 프로그래밍 언어 설정이 C인 경우에는 "TSO<space>= 2;"가 아니라 "TSO<no space>= 2;"와 같이 참조와 "="를 붙여야 합니다. USE 프로시저를 정의하려면 "USE<space>:: procedure;"가 아니라 "USE<no space>: procedure;"를 입력해야 합니다.
키워드를 자를 때는 다른 모든 올바른 Debug Tool 명령과 구별할 수 있을 만큼은 명령 문자를 입력해야 합니다. 명령 파일에서는 키워드를 자르지 않아야 하며 자른 키워드를 프로그램에 컴파일하지 않아야 합니다. 이렇게 하면 이후 릴리스에서 키워드가 모호해질 수 있습니다. 다음은 Debug Tool 명령을 자르는 예제를 보여 줍니다.
| 입력하는 명령 | 명령이 해석되는 방식 |
|---|---|
| A 3 | AT 3 |
| G | GO |
| Q B B | QUALIFY BLOCK B |
| Q Q | QUERY QUALIFY |
| Q | QUIT |
자른 키워드가 프로그램의 변수라면, 해당 부분만 혼동되는 경우 이 키워드가 선택됩니다. 예를 들어, LIST A는 A라는 변수의 값을 표시하지 않고 LIST AT 명령을 실행하여 현재 AT 중단점을 나열합니다. A의 값을 표시하려면 LIST (A)를 실행하십시오.
뿐만 아니라 해결할 수 없는 모호한 명령은 수행되지 않고 오류 메시지를 표시합니다. 즉, 이와 같은 경우에는 지정한 자르기로 해석될 수 있는 명령이 두 개임을 나타냅니다. 예를 들어, D A A;는 DESCRIBE ATTRIBUTES a;도 될 수 있고 DISABLE AT APPEARANCE;도 될 수 있으므로 모호한 자르기입니다. 이와 같은 경우, DESCRIBE ATTRIBUTES a;를 실행하려는 경우에는 DE A A;를 입력하고, DISABLE AT APPEARANCE;를 실행하려는 경우에는 DI A A;를 입력해야 합니다. D ATT A;와 같이, 다른 형태로 입력할 수도 있습니다.
둘 이상의 행을 사용하여 명령을 입력해야 하는 경우에는 다음 조치 중 하나를 수행할 수 있습니다.
어떤 경우에든 Debug Tool이 명령 팝업 창을 표시합니다.
대화식 모드로 명령을 입력할 때는 연속 문자가 명령행의 공백이 아닌 마지막 문자여야 합니다. 다음 예제에서 연속 문자는 1바이트 문자 세트(SBCS) 하이픈(-)입니다.
LIST (" this is a very very very vvvvvvvvvvvvvvvvvvvvvvvvvvvvv –
very long string");
Debug Tool이 연속 문자로 해석할 수 있는 문자로 행을 끝내려면 이 문자 다음에 공백이 아닌 다른 올바른 문자를 입력하십시오. 예를 들어, C 및 C++에서 『i––』를 입력하려는 경우에는 『(i––)』 또는 『i––;』를 입력할 수 있습니다. 현재 프로그래밍 언어 설정이 C 및 C++인 경우 백슬래시 문자(₩)를 사용할 수 있습니다.
Debug Tool이 전체 화면 모드에서 명령 연속을 대기하고 있는 경우, 열려 있는 명령 팝업 창에 『현재 명령이 불완전함, 아래에 계속 입력』 메시지가 표시됩니다.
명령 파일에서 입력을 가져올 때의 행 연속 규칙은 언어마다 다릅니다.
LIST (" this is a very very very vvvvvvvvvvvvvvvvvvvvvvvvvvvvv₩
very long string");리터럴 문자열 연속에서 연속되는 행의 끝에 큰따옴표(") 또는 작은따옴표(')가 필요합니다. 그런 다음, 연속 행의 시작에 큰따옴표(") 또는 작은따옴표(')가 필요합니다. 연속 행에서 큰따옴표 또는 작은따옴표 다음에 나오는 문자는 연속되는 행의 마지막 문자 바로 다음에 이어지는 것으로 간주됩니다. 다음은 COBOL에서의 행 연속을 보여 주는 예제입니다.
123456 LIST (" this is a very very very vvvvvvvvvvvvvvvvvvvvvvv"
123456-"very long string");
현재 프로그래밍 언어 설정이 COBOL일 때는 DBCS 이름 또는 리터럴 문자열 내에서 연속이 허용되지 않습니다.
SBCS 하이픈(-) 연속 문자를 사용하지 않고 여러 행에 다음 명령 부분을 입력할 수 있습니다.
이 절에서 설명하는 자료와 연관된 자세한 정보에 대해서는 다음 주제를 참조하십시오.
키워드, 식별자, 숫자 상수 내에는 공백을 사용할 수 없지만 문자열 내에는 사용할 수 있습니다. 키워드, 식별자 또는 상수 사이의 공백은 분리문자로 사용된 경우를 제외하고는 무시됩니다. 다른 분리문자가 없으며 혼동할 우려가 있는 경우에는 공백을 사용하십시오.
Debug Tool에서는 명령 스트림에 설명 주석을 삽입할 수 있습니다(상수 및 다른 주석 내에는 삽입할 수 없음). 그러나 주석 형식은 현재 프로그래밍 언어에 따라 다릅니다. 주석과 구분 기호를 포함하여 행 전체가 72 컬럼을 넘지 않아야 합니다.
C++ 전용: C++에서 "//" 형식의 주석은 Debug Tool이 처리하지 않습니다.
주석은 파일 입력에서 가장 유용합니다. 예를 들어, USE 파일에 주석을 삽입하여 명령이 수행할 액션을 설명할 수 있습니다
현재 프로그래밍 언어 설정에 필요한 경우 상수가 입력됩니다. Debug Tool은 지원되는 각 HLL에 정의된 대부분의 상수를 지원합니다.
Debug Tool을 사용하면 COBOL과 PL/I에 16진 주소를 사용할 수 있습니다.
COBOL H 상수는 16진 숫자 리터럴 형식(큰따옴표(") 또는 작은따옴표(')로 구분되고 앞에 H가 있는 16진 문자만 사용)으로 지정할 수 있는 전체 주소 값입니다. 이 값은 오른쪽으로 정렬되며 왼쪽은 0으로 채워집니다.
SET ptr TO H"124BF";16진 값이 필요한 다른 모든 경우에는 MOVE X'C1C2C3C4' TO NON-PTR-VAR와 같은 영숫자 리터럴에 대한 COBOL 16진 표기법을 사용해야 합니다.
PL/I PX 상수는 작은따옴표(')로 구분되고 뒤에 PX가 표시되는 16진 값입니다. 이 값은 오른쪽으로 정렬되며 포인터 값이 허용되는 모든 컨텍스트에서 사용할 수 있습니다. 예를 들어, 16진 형식으로 지정한 주소에 있는 컨텐츠를 표시하려면 다음과 같이 지정하십시오.
LIST STORAGE ('20CD0'PX);
이 절에서 설명하는 자료와 연관된 자세한 정보에 대해서는 다음 주제를 참조하십시오.
PF1을 누르거나 물음표(?)를 입력하여 Debug Tool 명령 구문에 대한 도움말을 볼 수 있습니다. 도움말을 가져올 수 있습니다. 이렇게 하면 로그 창에 모든 Debug Tool 명령이 나열됩니다.
명령에 대한 옵션 목록을 보려면 명령 일부를 입력한 다음 물음표를 입력하십시오.
예를 들어, 전체 화면 모드에서 명령행에 다음을 입력하십시오.
? WINDOW ? WINDOW CLOSE ? WINDOW CLOSE SOURCE
다음을 입력하여 소스 창을 다시 여십시오.
WINDOW OPEN SOURCE
그런 다음, 결과를 보십시오.
Debug Tool SYSTEM과 TSO 명령 다음에 ?를 입력하면 구문 도움말이 표시되지 않고 ?가 시스템 명령의 일부로 호스트에 전송됩니다. COMMENT 명령 다음에 ?를 입력해도 구문 도움말을 호출하지 않습니다.