日本-日本語

製品  >  ソフトウェア  >  OpenVMS  >  マニュアル

OpenVMS マニュアル


≫ 

OpenVMS V7.3-2
ライブラリ

タイトルページ
目次
まえがき
第 1 部:デバッガ概要
第 1 章:デバッガ概要
第 2 部:コマンド・インタフェース
第 2 章:デバッガの起動
第 3 章:プログラム実行の制御とモニタ
第 4 章:プログラム・データの検査と操作
第 5 章:プログラム内シンボルへのアクセス制御
第 6 章:ソース・コードの表示の制御
第 7 章:画面モード
第 3 部:DECwindows インタフェース
第 8 章:DECwindows Motifインタフェースの概要
第 9 章:デバッグ・セッションの開始と終了
第 10 章:デバッガの使用方法
第 4 部:PC クライアント・インタフェース
第 11 章:デバッガの PC クライアント/サーバ・インタフェースの概要
第 5 部:高度なトピック
第 12 章:ヒープ・アナライザの使用
第 13 章:その他の便利な機能
第 14 章:特殊なデバッグ
第 15 章:マルチプロセス・プログラムのデバッグ
第 16 章:ベクタ化されたプログラムのデバッグ
第 17 章:タスキング・プログラムのデバッグ
第 6 部:付録
付録 A :定義済みのキー機能
付録 B :組み込みシンボルと論理名
付録 C :各言語に対するデバッガ・サポートの要約
付録 D :EIGHTQUEENS.C
索引
PDF
OpenVMS ホーム

HP OpenVMS
デバッガ説明書


目次 索引



以下の各サブトピックでは,デバッガによる Pascal のサポートについて説明します。

C.13.1 言語式の演算子

言語式でサポートされている Pascal の演算子を次に示します。

種類 シンボル 機能
接頭辞 + 単項正符号
接頭辞 - 単項負符号 (否定)
挿入辞 + 加算,連結
挿入辞 - 減算
挿入辞 * 乗算
挿入辞 / 実数の除算
挿入辞 DIV 整数の除算
挿入辞 MOD モジュロ
挿入辞 REM 剰余
挿入辞 ** べき乗(VAX 固有)
挿入辞 IN 集合メンバーシップ
挿入辞 = 等値
挿入辞 <> 不等
挿入辞 > 大なり
挿入辞 >= 以上
挿入辞 < 小なり
挿入辞 <= 以下
接頭辞 NOT 論理否定
挿入辞 AND 論理積
挿入辞 OR 論理和

+VAX 固有

型キャスト演算子(::) は,言語式ではサポートされていません。

C.13.2 言語式とアドレス式の構造

サポートされている,Pascal の言語式とアドレス式の構造を次に示します。

シンボル 構造
[ ] 添字指定
.(ピリオド) レコードの構成要素の選択
^(サーカンフレックス) ポインタの間接参照



C.13.3 定義済みのシンボル

サポートされている,Pascal の定義済みのシンボルを次に示します。

シンボル 意味
TRUE 論理値TRUE
FALSE 論理値FALSE
NIL NILポインタ



C.13.4 組み込み関数

サポートされている,Pascal の組み込み関数を次に示します。

シンボル 意味
SUCC 論理的後続データ
PRED 論理的先行データ



C.13.5 データ型

サポートされている Pascal のデータ型を次に示します。

Pascal のデータ型 VMS のデータ型名
INTEGER ロングワード整数(L)
INTEGER ワード整数 (W,WU)
INTEGER バイト整数 (B,BU)
UNSIGNED ロングワード符号なし (LU)
UNSIGNED ワード符号なし (WU)
UNSIGNED バイト符号なし (BU)
SINGLE,REAL F浮動小数点数(F)
REAL(Alpha 固有) IEEE S 浮動小数点数(FS)
DOUBLE D浮動小数点数(D)
DOUBLE G浮動小数点数(G)
DOUBLE(Alpha 固有) IEEE T 浮動小数点数(FT)
QUADRUPLE(VAX 固有) H 浮動小数点数(H)
BOOLEAN (なし)
CHAR ASCII テキスト(T)
VARYING OF CHAR 変形テキスト (VT)
SET (なし)
FILE (なし)
列挙 (なし)
部分範囲 (なし)
型付きポインタ (なし)
配列 (なし)
レコード (なし)
可変レコード (なし)

Pascal の言語式の中では,デバッガは,[1,2,5,8..10] や [RED,BLUE] といった Pascal の集合定数を受け入れます。

REAL 型の浮動小数点数は,コンパイラのスイッチまたはソース・コードの属性によって,F 浮動小数点数または IEEE S 浮動小数点数のどちらかで表現されます。

DOUBLE 型の浮動小数点数は,コンパイラのスイッチまたはソース・コードの属性によって,D 浮動小数点数,G 浮動小数点数,または IEEE T 浮動小数点数のどれかで表現されます。

C.13.6 補足情報

通常は,変数,レコード・フィールド,配列の構成要素のそれぞれに対して,検査,評価,格納を行うことができますが,次の場合は例外です。プログラムの中で変数が参照されていない場合,Pascal コンパイラは変数を割り当てません。変数を割り当てていないときにその変数を検査しようとしたり,その変数へ格納しようとするとエラー・メッセージが表示されます。

変数にデータを格納する場合,格納される値が変数よりも大きいときは,デバッガは上位ビットを切り捨てます。格納される値が変数よりも小さいときは,上位ビットをゼロで埋めます。代入互換性の規則に違反した格納をすると情報メッセージが表示されます。

実行中のブロック内であればどのブロックでも自動変数を調べたり,自動変数へ格納することができます。しかし,自動変数はスタック領域に割り当てられ,レジスタに格納されるので,変数が初期化されるまで,または変数に値が代入されるまで,自動変数の値は未定義であるとみなされます。

C.13.7 制限事項

Pascal についてのデバッガの制限事項は次のとおりです。

VARYING OF CHAR の文字列の値を調べることはできますが,Pascal の通常の構文を使用して .LENGTH フィールドや .BODY フィールドの値を調べることはできません。たとえば,VARS が文字列変数名の場合,次のコマンドはサポートされません。


DBG> EXAMINE VARS.LENGTH
DBG> EXAMINE VARS.BODY

これらのフィールドを確認するには,次の方法を使用します。

使用する 使用しない
EXAMINE/WORD VARS EXAMINE VARS.LENGTH
EXAMINE/ASCII VARS+2 EXAMINE VARS.BODY



C.14 PL/I

次の各サブトピックでは,デバッガによる PL/I のサポートについて説明します。

C.14.1 言語式の演算子

言語式でサポートされている PL/I の演算子を次に示します。

種類 シンボル 機能
接頭辞 + 単項正符号
接頭辞 - 単項負符号 (否定)
挿入辞 + 加算
挿入辞 - 減算
挿入辞 * 乗算
挿入辞 / 除算
挿入辞 ** べき乗
挿入辞 || 連結
挿入辞 = 等値
挿入辞 ^= 不等
挿入辞 > 大なり
挿入辞 >= 以上
挿入辞 ^< 以上
挿入辞 < 小なり
挿入辞 <= 以下
挿入辞 ^> 以下
接頭辞 ^ ビット単位のNOT
挿入辞 & ビット単位のAND
挿入辞 | ビット単位のOR



C.14.2 言語式とアドレス式の構造

サポートされている,PL/I の言語式とアドレス式の構造を次に示します。

シンボル 構造
( ) 添字指定
.(ピリオド) 構造体の構成要素の選択
-> ポインタの間接参照



C.14.3 データ型

サポートされている PL/I のデータ型を次に示します。

PL/I のデータ型 VMS のデータ型名
FIXED BINARY バイト整数(B),ワード整数 (W),またはロングワード整数(L)
FIXED DECIMAL パック 10 進数(P)
FLOAT BIN/DEC F 浮動小数点数(F)
FLOAT BIN/DEC D 浮動小数点数(D)
FLOAT BIN/DEC G 浮動小数点数(G)
FLOAT BIN/DEC(VAX 固有) H 浮動小数点数(H)
BIT ビット(V)
BIT ビット境界合わせなし (VU)
CHARACTER ASCII テキスト(T)
CHARACTER VARYING 変形テキスト(VT)
FILE (なし)
ラベル (なし)
ポインタ (なし)
配列 (なし)
構造体 (なし)



C.14.4 静的変数と非静的変数

次の記憶クラスの変数は静的に割り当てられます。

STATIC
EXTERNAL
GLOBALDEF
GLOBALREF

次の記憶クラスの変数は,スタック上またはレジスタ内に非静的に割り当てられます。

AUTOMATIC
BASED
CONTROLLED
DEFINED
PARAMETER


以下の各サブトピックでは, PL/I のデータ型を使用した EXAMINE コマンドの例を示します。デバッガのサポートで PL/I 固有の事項についても説明しています。

次に,EXAMINE コマンドでのいくつかの PL/I のデータ型の使用例を示します。

  • FIXED DECIMAL (10,5) として宣言されている変数の値を調べます。


    DBG> EXAMINE X
    PROG4\X:    540.02700
    

  • 構造体変数の値を表示します。


    DBG> EXAMINE PART
    MAIN_PROG\INVENTORY_PROG\PART 
        ITEM:       "WF-1247" 
        PRICE:        49.95 
        IN_STOCK:     24
    

  • ピクチャ変数の値を調べます。デバッガは値を二重引用符で囲んで表示するので注意してください。


    DBG> EXAMINE Q
    MAIN\Q:    "666.3330"
    

  • ポインタの値 (ポインタがアクセスする変数の仮想アドレス) を調べ,その値を省略時設定の 10 進数ではなく,16 進数で表示します。


    DBG> EXAMINE/HEXADECIMAL P
    PROG4\SAMPLE.P:  0000B2A4
    

  • BASED 属性を持った変数の値を調べます。ここでは,変数 X のポインタである PTR を使用して,変数 X を BASED(PTR) として宣言しています。


    DBG> EXAMINE X
    PROG\X:    "A"
    

  • BASED として宣言されている変数 X の値を, POINTER として宣言されている変数 PTR を使用して調べます。ここでは前の例のように X が BASED(PTR) として宣言されているのではなく,PL/I コードの後続行で PTR を X と対応づけています。


    ALLOCATE X SET (PTR); 
    


    この場合,X の値は次のように調べられます。


    DBG> EXAMINE PTR->X
    PROG6\PTR->X:    "A"
    



デバッガによる PL/I のサポートについては次の点に注意してください。

入口変数やラベル変数で,または入口やラベルの形式で DEPOSIT コマンドを使用することはできません。また,配列全体や構造体全体といっしょに DEPOSIT コマンドを使用することもできません。入口変数やラベル変数で,または入口やラベルの形式で EXAMINE コマンドを使用することはできません。EXAMINE コマンドの代わりに EVALUATE/ADDRESS コマンドを使用してください。

GLOBALDEF VALUE リテラルなどのグローバル・リテラルの属性や値を確認するために EXAMINE コマンドを使用することはできません。これはグローバル・リテラルが静的な式であるためです。代わりに EVALUATE コマンドを使用してください。

コンパイル時の変数およびプロシージャといっしょに,EXAMINE,EVALUATE, DEPOSIT の各コマンドを使用することはできません。しかし,その定数がデスティネーションではなくソースである場合は,コンパイル時の定数とともに EVALUATE コマンドや DEPOSIT コマンドを使用することができます。EXAMINE コマンドは使用できません。

初期化されていない自動変数の内容は,値が代入されるまでは無効です。代入する前に検査した場合,どのような値が表示されるかは予測できません。

他のポインタの値をポインタ変数に格納することで両方のポインタへのシンボル参照を行うか,または,仮想アドレスをポインタ変数に格納するかのどちらかの方法によって,ポインタ変数へ値を格納することができます。 EVALUATE/ADDRESS コマンドを使用すると,変数の仮想アドレスを知ることができます。それからそのアドレスをポインタに格納してください。ポインタをチェックする場合,デバッガは,ポインタが指す変数の仮想アドレスの形式でポインタの値を表示します。

PL/I の言語規則に準拠するために,PL/I の言語式のn または n.n の形式の数値定数はすべて整数定数や浮動小数点定数ではなく,パック 10 進数の定数として処理されます。したがって,10 の内部表現は 0C01h であり,0Ah ではありません。

nEn または n.nEn の構文を使用すると,浮動小数点定数を入力することができます。

内部表現がロングワード整数である定数を入力する構文は,PL/I にはありません。デバッガは PL/I の型変換規則をサポートしているので,通常,デバッグ時にこの制約が重大なものになることはありませんが,整数定数を入力することはできます。入力にはデバッガの %HEX,%OCT,%BIN の各演算子を使用してください。これが可能なのは,10 進数以外の定数は FIXED BINARY とみなされるためです。たとえば,EVALUATE/HEXADECIMAL 53 + %HEX 0 というコマンドは 00000035 を表示します。


目次 索引

印刷用画面へ
プライバシー 本サイト利用時の合意事項