Debug Tool コマンドは、フルスクリーン・モード、行モード、およびバッチ・モード の 3 つのモードで出すことができます。Debug Tool コマンドの中には、ある特定のモードまたはプログラム言語 でしか有効にならないものがあります。特に断り書きがない限り、Debug Tool コマンドはすべてのモードで有効であり、またすべてのサポートされる言語に対して有効です。
端末で直接入力する場合、入力はフリー・フォームであり、オプションで 1 桁目から開始することができます。
1 行に複数のコマンドを入力する場合は、セミコロン (;) で区切ってください。終了を示すセミコロンは、単一コマンドあるいは一連のコマンドの最後の コマンドでは、付けるか付けないかはオプションです。
基本コマンド・ファイルまたは USE ファイルからの入力の 場合、すべての Debug Tool コマンドは、C の block コマンド 以外、すべてセミコロンで終了させる必要があります。
ここで述べた内容に関して詳しくは、以下のトピックを参照してください。
文字セットと大小文字は、Debug Tool セッションにおいて、2 バイト文字セット (DBCS) または現行のプログラム言語の設定によって異なります。
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 キーワードは、他のキーワードと ID よりも優先します。これらのキーワードの後ろにブランクが 1 つある場合、それは常に、対応するコマンドとして解析されます。したがって、TSO という名の変数に値 2 を割り当てたい場合で、現行のプログラム言語の設定が C であるとき、「=」はその参照に直接つながる必要があり、 「TSO<スペース>= 2;」とするのではなく、「TSO<スペースなし>= 2;」のようにします。USE という名のプロシージャーを定義したい場合、「USE<スペース>:: procedure;」と入力するのではなく、「USE<スペースなし>: procedure;」と入力する必要があります。
短縮を行う場合、短縮を行うコマンドは、他のすべての有効な Debug Tool コマンドと区別するために必要な文字を入力しなければなりません。コマンド・ファイル内で、またはコマンドをプログラムにコンパイルする時に、短縮形を使用しない でください。なぜなら、以降のリリースではこれらの短縮形が不明確になる可能性があるからです。Debug Tool コマンドの短縮形の例を次に示します。
| 入力するコマンド | 解釈 |
|---|---|
| A 3 | AT 3 |
| G | GO |
| Q B B | QUALIFY BLOCK B |
| Q Q | QUERY QUALIFY |
| Q | QUIT |
プログラム内の変数でもある短縮形を指定すると、それがただ 1 つの あいまいなものであれば、キーワードが選択されます。例えば、LIST A は変数 A の値を表示せず、LIST AT コマンドを実行し、現行の AT ブレークポイントをリストします。A の値を表示するには、LIST (A) と指定します。
また、解決することができないあいまいなコマンドは、エラー・メッセージが 出され、実行されません。すなわち、指定された短縮形が 2 つのコマンドに解釈できることがあります。例えば、 D A A; はあいまいな短縮形です。その理由は、これには DESCRIBE ATTRIBUTES a; または DISABLE AT APPEARANCE; がありえるからです。 代わりに、DESCRIBE ATTRIBUTES a; を行いたい場合は DE A A; と入力し、DISABLE AT APPEARANCE; を行いたい場合は DI A A; と入力する必要があります。もちろん、別の短縮形 (例: D ATT A;) でも同じ働きをするものがあります。
コマンドの入力に複数の行を必要とする場合は、継続文字を使用しなければなりません。
対話モードでコマンドを入力する場合、継続文字は継続される各行の 最後のブランク以外の文字でなければなりません。次のような例を考えてみます。
LIST (" this is a very very very vvvvvvvvvvvvvvvvvvvvvvvvvvvvv -
very long string");継続文字は、1 バイト文字セット (SBCS) の ハイフン (-) です。
継続文字として解釈される文字で行を終了させたい場合、その文字に別の有効なブランク以外の文字を続けてください。例えば、C および C++ で「i--」を入力したい場合、「(i--)」または「i--;」と入力します。現行のプログラム言語の設定が C および C++ の場合、円記号 (¥) も使用可能です。
フルスクリーン・モードで、Debug Tool がコマンドの継続を待っている場合、コマンドが完全に入力され、処理されるまで、「MORE...」という継続プロンプトを受け取ります。
入力がコマンド・ファイルから来る場合の行継続の規則は、言語により異なります。
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 ハイフン (-) 継続文字を使用しない場合でも、別々の行に入力することができます。
ここで述べた内容に関して詳しくは、以下のトピックを参照してください。
キーワード、ID、および数値定数の中にブランクは使用できません。文字ストリングの中には、使用できます。キーワード、識別名、または定数間のブランクは、区切り文字としてのブランクを 除き無視されます。ブランクは、他に区切り文字が存在しないのであいまいになりそうな場合に 必須です。
Debug Tool は、コマンド・ストリームに記述コメントを挿入できるように しています (定数および他のコメントの中を除く)。しかし、コメントの形式は現行のプログラム言語により異なります。コメントおよび区切り文字を含めて、行全体が 72 桁を超えてはなりません。
C++ の場合のみ: C++ では、「//」形式のコメントは、Debug Tool による処理は行われません。
コメントは、ファイル入力において最も役に立ちます。例えば、USE ファイルにコメントを挿入して、コマンドの処置について説明および 記述することができます。
定数は、現行のプログラム言語の設定値によって必要に応じて入力されます。サポートされる各 HLL 用に定義されたほとんどの定数は、Debug Tool によってもサポートされます。
Debug Tool では、COBOL および PL/I で 16 進アドレスを使用することが できます。
COBOL の H 定数は、数値 16 進リテラル形式 (16 進文字のみであり、引用符 (") またはアポストロフィ (') によって区切られ、先頭には H が付く) を使用して 16 進で指定することができるフルワードのアドレス値です。値は、右寄せにして、左はゼロで埋め込みます。
SET ptr TO H"124BF";COBOL の英数字リテラルに対する 16 進表記、例えば MOVE X'C1C2C3C4' TO NON-PTR-VAR は、16 進値が必要な他のすべての場合に使用する必要があります。
PL/I の PX 定数は、16 進値で、アポストロフィ (') で区切り、後ろに PX を付けます。値は右寄せで、ポインター値を使用できる文脈ならばどこにでも使用できます。例えば、指定のアドレスの内容を 16 進形式で表示するには、次のように指定します。
LIST STORAGE ('20CD0'PX);
ここで述べた内容に関して詳しくは、以下のトピックを参照してください。
PF1 を押すか、コマンド行に疑問符 (?) を入力 すれば、Debug Tool コマンド構文に関するヘルプを表示することが できます。これによって、Debug Tool コマンドがすべてログ・ウィンドウに リストされます。
コマンドのオプション・リストを表示するには、コマンドの 一部に続けて疑問符を入力します。
例えば、フルスクリーン・モードではコマンド行に次のように入力します。
? WINDOW ? WINDOW CLOSE ? WINDOW CLOSE SOURCE
ここで、次のようにして、ソース・ウィンドウを再オープンします。
WINDOW OPEN SOURCE
結果が表示されます。
Debug Tool の SYSTEM コマンドおよび TSO コマンドは、後ろに ? を付けた場合、構文ヘルプを呼び出さず、代わりに、? がシステム・コマンドの一部としてホストに送られます。 COMMENT コマンドの後ろに ? を付けても、やはり構文ヘルプは呼び出されません。