日本-日本語

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

OpenVMS マニュアル


≫ 

OpenVMS V8.3
ライブラリ

タイトルページ
目次
まえがき
第 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 章:タスキング・プログラムのデバッグ
第 6 部:付録
付録 A :定義済みのキー機能
付録 B :組み込みシンボルと論理名
付録 C :各言語に対するデバッガ・サポートの要約
付録 D :EIGHTQUEENS.C
索引
PDF
OpenVMS ホーム

HP OpenVMS
デバッガ説明書


目次 索引



SCAN のウォッチポイントについては,次の点に注意してください。

  • 省略時設定では,MODULE レベルで宣言された変数は静的変数になる。

  • 省略時設定では,PROCEDURE レベルまたは MACRO レベルで宣言された変数は自動 ( 非静的 ) 変数になる。

  • DYNAMIC STRING 変数は動的に作成される。文字列の値が変わると,その文字列の値を保持している記憶域も変更されることがある。したがって,文字列の値が変更された場合,デバッガがウォッチしている記憶域が違ったものになることがある。



C.15.7 検査と格納

次の各サブトピックでは,次の SCAN 変数の検査方法と,これらの変数への格納の方法について説明します。

STRING
FILL
POINTER
TREE
TREEPTR
RECORD
OVERLAY


FIXED STRING 変数に格納する場合,その変数の宣言で設定したサイズよりも長い文字列を格納すると,切り捨てが行われます。

VARYING STRING 変数に格納する場合,その変数の宣言で設定した最大長よりも長いサイズの文字列を格納すると,切り捨てが行われます。

DYNAMIC STRING 変数に格納する場合,その変数の現在のサイズよりも長い文字列を格納すると,切り捨てが行われます。

FIXED STRING 変数および DYNAMIC STRING 変数では,変数の現在のサイズよりも短い文字列を格納すると,その文字列は左寄せされ,埋められなかった部分の右側はブランク文字で埋められます。

VARYING STRING 変数の場合,変数を格納している現在の領域は,格納される変数に合わせてサイズが調節されます。

省略時設定で FILL 変数の値を調べると,指定した変数の内容が文字列として表示されるので,それを見てもほとんど意味がないことがあります。フィルの特性または型が分かっているときは,適切な修飾子をコマンドに使用することによって,意味のある表示を行わせることができます。次の例は,フィルx が単精度浮動小数点数であると分かっているときのコマンドです。


DBG> EXAMINE/FLOAT x



POINTER が指している変数のアドレスを検索するために,POINTER を名前でチェックすることができます。POINTER に基づく変数を検査するには,負符号と右不等号を組み合わせた演算子(-->) を使用してください。

次の宣言と代入が行われた場合について考えます。


TYPE symnode: RECORD 
                 ptr:  POINTER TO symnode, 
                 vstr: VARYING STRING( 20 ), 
              END RECORD; 
 
DECLARE x   : symnode; 
DECLARE xptr: POINTER TO symnode; 
xptr        = POINTER(x); 
x.vstr      = 'prehensile'; 

次のコマンドは,x の構成要素であるvstr の値を表示します。


DBG> EXAMINE x.vstr
POINTER\MAINPOINTER\X.VSTR: 'prehensile'

次のコマンドは,POINTER に基づいてvstr の値を表示します。


DBG> EXAMINE xptr->.vstr
POINTER\MAINPOINTER\XPTR->.VSTR: 'prehensile '



次の構文を使用すると,木構造のノードの内容を調べることができます。


EXAMINE tree_variable([subscript],...)

TREE 変数へ格納することはできません。

EXAMINE コマンドで木構造の名前を指定すると,その木構造のノードと葉の内容がすべて表示されます。次に例を示します。


DBG> EXAMINE voters

下位ノードの指定は,そのノードの添字を入力すればできます。次に例を示します。


DBG> EXAMINE voters('salem')

確認したい葉につながる添字をすべて指定すると,木構造の葉ノードを調べることができます。次に例を示します。


DBG> EXAMINE voters('salem',ward2)

cityptr または wardptr などの TREEPTR 変数を調べると,その木ノードのアドレスが表示されます。 TREEPTR 変数が何を指しているかを次のようにして確認します。


DBG> EXAMINE cityptr->



EXAMINE コマンドを使用するときに RECORD を名前で指定すると, RECORD のすべての構成要素が表示されます。 RECORD の構成要素を個々に調べるには,各構成要素をフル・ネームで指定します。

一般的な書式は次のとおりです。


EXAMINE recordname


EXAMINE recordname.componentname.componentname...

OVERLAY の確認方法もこれと同様です。OVERLAY の場合も構成要素がすべて表示されます。このように,FILL(4),INTEGER,VARYING STRING(2) がそれぞれ 4 バイトの領域であれば,4 つのバイトは 3 種類の異なった形式で表示されます。

C.16 UNKNOWN言語

次の各サブトピックでは, UNKNOWN である言語の,デバッガのサポートについて説明します。

C.16.1 言語式の演算子

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

種類 シンボル 機能
接頭辞 + 単項正符号
接頭辞 - 単項負符号 (否定)
挿入辞 + 加算
挿入辞 - 減算
挿入辞 * 乗算
挿入辞 / 除算
挿入辞 ** べき乗(VAX 固有)
挿入辞 & 連結
挿入辞 // 連結
挿入辞 = 等値
挿入辞 <> 不等
挿入辞 /= 不等
挿入辞 > 大なり
挿入辞 >= 以上
挿入辞 < 小なり
挿入辞 <= 以下
挿入辞 EQL 等値
挿入辞 NEQ 不等
挿入辞 GTR 大なり
挿入辞 GEQ 以上
挿入辞 LSS 小なり
挿入辞 LEQ 以下
接頭辞 NOT 論理否定
挿入辞 AND 論理積
挿入辞 OR 論理和
挿入辞 XOR 排他的論理和
挿入辞 EQV 同値



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

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

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



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

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

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



C.16.4 データ型

言語が UNKNOWN に設定されている場合,デバッガは,他の言語で受け入れられるデータ型をすべて認識しますが,ピクチャ型やファイル型など,限られたいくつかの言語固有のデータ型は認識しません。 UNKNOWN の言語式では,OpenVMS 呼び出し規則のスカラ・データ型のほとんどを使用することができます。

  • UNKNOWN の言語では,レコードの構成要素の選択にドット表記法を使用することができます。たとえば,C がレコード B の構成要素であり,その B がレコード A の構成要素である場合,A.B.C という表記で C を参照することができます。また,配列のどの構成要素にも添字を付けることができます。たとえば B が配列であるとすると,A.B[2,3].C で C を参照することができます。

  • UNKNOWN の言語では,丸括弧と角括弧の両方を添字の括弧に使用することができます。たとえば,A[2,3] と A(2,3) は等価です。


目次 索引

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