日本-日本語
日本HPホーム 製品 & サービス OpenVMS製品情報
≫  お問い合わせ


OpenVMS マニュアル


 

OpenVMS ドキュメント
ライブラリ

タイトルページ
目次
まえがき
第1章:コマンド・ディクショナリ概要
第2章:デバッガ・コマンド・ディクショナリ
  ≫ コマンド一覧
索引
PDF
OpenVMS ホーム

HP OpenVMS
デバッガ・コマンド・ディクショナリ


目次 索引

省略時の設定では,現在のキーの状態は "DEFAULT" 状態です。現在の状態は SET KEY/STATE コマンドを使用するか,状態を変更するキー (DEFINE/KEY/LOCK_STATE/SET_STATE で定義されたキー ) を押すことにより変更できます。


説明

DELETE/KEY コマンドは DCL コマンドの DELETE/KEY と似ています。

このコマンドを使用する前にキーパッド・モードが使用可能な状態 (SET MODE KEYPAD) に設定されていなければなりません。省略時の設定では,キーパッド・モードは使用可能です。

関連コマンド

DEFINE/KEY
(SET,SHOW) KEY

#1
DBG> DELETE/KEY KP4
%DEBUG-I-DELKEY, DEFAULT key KP4 has been deleted

このコマンドは前回 SET KEY コマンドで設定された状態 ( 省略時の設定では,これは DEFAULT 状態 ) で KP4 に対するキー定義を削除します。

#2
DBG> DELETE/KEY/STATE=(BLUE,RED) COMMA
%DEBUG-I-DELKEY, BLUE key COMMA has been deleted 
%DEBUG-I-DELKEY, RED key COMMA has been deleted

このコマンドは BLUE と RED の状態で COMMA キーに対するキー定義を削除します。




プログラム変数の値を変更します。より通常は,アドレス式で示される記憶位置に新しい値を格納します。

形式

DEPOSIT address-expression = language-expression


パラメータ



address-expression

言語式の値を格納する記憶位置を指定します。高級言語を使用する場合,これは通常,変数の名前になり,変数を一意に指定するためのパス名を含めることができます。典型的なアドレス式は,メモリ・アドレスやレジスタであったり,数字 ( オフセット ) やシンボルだけでなく 1 つまたは複数の演算子やオペランド,区切り文字などで構成されていたりします。レジスタのデバッガ・シンボルについての詳しい説明とアドレス式の中で使用できる演算子についての詳しい説明は,「組み込みシンボル」と「アドレス式」のヘルプ・トピックを参照してください。

集合体変数全体 ( 配列またはレコードなどの複合データ構造 ) は指定できません。個々の配列要素またはレコードの構成要素を指定するには,現在の言語の構文に従ってください。

language-expression

格納する値を指定します。現在の言語で有効な言語式であればどれでも指定できます。ほとんどの言語の場合,式には単純変数 ( 複合でない単一値 ) の名前をいれることはできますが,集合体変数 ( 配列やレコードなど ) の名前はいれられません。式に異なるコンパイラ生成型が含まれている場合には,デバッガはその式を評価するために現在の言語の規則を使用します。

式が ASCII 文字列またはアセンブリ言語命令の場合には,その式を二重引用符 (") または一重引用符 (') で囲まなければなりません。文字列に二重引用符も一重引用符も含まれていない場合には,他の区切り文字を使用してその文字列を囲んでください。

文字列に含まれている文字数 (ASCII,バイト単位 ) がアドレス式で示されるプログラム記憶位置に収まる文字数より多い場合には,デバッガは右側から余分な文字を切り捨てます。文字列に含まれている文字数が少ない場合には,デバッガは文字列の右側に ASCII スペース文字を挿入することにより足りない文字を埋め込みます。


修飾子



/ASCIC



/AC

指定された長さの ASCII 文字列を指定された記憶位置に格納します。文字列は等号の右側に指定しなければなりません。格納される文字列の前には,文字列の長さを指定する 1 バイトのカウント・フィールドが付きます。

/ASCID



/AD

指定された記憶位置にある文字列ディスクリプタによって指定されるアドレスに ASCII 文字列を格納します。引用符で囲まれた文字列は等号の右側に指定しなければなりません。指定の記憶位置には文字列ディスクリプタが入らなければなりません。文字列の長さが一致しない場合には,文字列は右側で切り捨てられるか,右側にスペース文字を埋め込まれます。

/ASCII:n

指定された記憶位置に ASCII 文字列の n バイトを格納します。引用符で囲まれた文字列は等号の右側に指定しなければなりません。文字列の長さが n でない場合には,文字列は右側で切り捨てられるか,スペース文字を埋め込まれます。 n を省略すると,指定された記憶位置のデータ項目の実際の長さが使用されます。

/ASCIW



/AW

指定された長さの ASCII 文字列を指定された記憶位置に格納します。引用符で囲まれた文字列は等号の右側に指定しなければなりません。格納される文字列の前には,その文字列の長さを指定する 2 バイトのカウント・フィールドが付きます。

/ASCIZ



/AZ

最後部に 0 の付く ASCII 文字列を指定された記憶位置に格納します。引用符で囲まれた文字列は等号の右側に指定しなければなりません。格納された文字列の最後部には文字列の終わりを示す 0 が 1 バイト分つきます。

/BYTE

指定された記憶位置に 1 バイトの整数を格納します。

/D_FLOAT

等号の右側の式を D 浮動小数点型 (8 バイト長 ) に変換し,その結果を指定の記憶位置に格納します。

/DATE_TIME

日付と時刻を表す文字列 ( たとえば,21-DEC-1988 21:08:47.15) を日付と時刻の内部形式に変換し,その値 (8 バイト長 ) を指定された記憶位置に格納します。絶対日付と絶対時刻は次の形式で指定します。

[dd-mmm-yyyy[:]] [hh:mm:ss.cc] 



/EXTENDED_FLOAT



/X_FLOAT

(Alpha のみ) 等号の右側にある式を IEEE の X 浮動小数点型 (16 バイト長) に変換し,その結果を指定された記憶位置に格納します。

/FLOAT

Alpha では,等号の右側にある式を IEEE の T 浮動小数点型 (8 バイト長 ) に変換し,その結果を指定された記憶位置に格納します。

/G_FLOAT

等号の右側にある式を G 浮動小数点型 (8 バイト長 ) に変換し,その結果を指定された記憶位置に格納します。

/LONG_FLOAT



/S_FLOAT

(Alpha および Integrity のみ) 等号の右側にある式を IEEE S 浮動小数点型 ( 単一精度,4 バイト長 ) に変換し,その結果を指定された記憶位置に格納します。

/LONG_LONG_FLOAT



/T_FLOAT

(Alpha および Integrity のみ) 等号の右側にある式を IEEE T 浮動小数点型 ( 倍精度,8 バイト長 ) に変換し,その結果を指定の記憶位置に格納します。

/LONGWORD

指定された記憶位置にロングワード整数 (4 バイト長 ) を格納します。

/OCTAWORD

指定された記憶位置にオクタワード整数 (16 バイト長 ) を格納します。

/PACKED:n

等号の右側にある式をパック 10 進数表現に変換し,その結果として生じた値を指定された記憶位置に格納します。 n の値は 10 進数の桁数です。各桁は 1 ニブル (4 ビット ) を占めます。

/QUADWORD

指定された記憶位置にクォドワード整数 (8 バイト長 ) を格納します。

/TASK

タスキング ( マルチスレッド ) プログラムの場合に指定できます。指定された記憶位置にタスクの値 ( タスク名または %TASK 3 などのタスク ID) を格納します。格納される値は有効なタスク値でなければなりません。

/TYPE=(name)

格納する式を name ( プログラムで宣言された変数またはデータ型の名前でなければならない ) で示される型に変換し,指定された記憶位置に変換結果の値を格納します。これにより,ユーザ宣言型を指定できるようになります。型式は括弧で囲まなければなりません。

/WCHAR_T[:n]

変換したマルチバイト・ファイル・コード・シーケンスの中で,最大 n ロングワード (n 文字) を指定の記憶位置に格納します。省略時の値は 1 ロングワードです。等号の右側に文字列を指定しなければなりません。

指定された文字列を変換する場合,デバッガはそのデバッガが実行されているプロセスのロケール・データベースを使用します。省略時の設定は C ロケールです。

/WORD

ワード整数 (2 バイト長) を指定の記憶位置に格納します。

説明

DEPOSIT コマンドを使用すれば,プログラムでアクセス可能なメモリ記憶位置またはレジスタの内容を変更できます。高級言語の場合,このコマンドは通常,変数 ( 整数,実数,文字列,配列,レコードなど ) の値を変更する場合に使用されます。

DEPOSIT コマンドはほとんどのプログラミング言語での代入文と似ています。等号の右側に指定された式の値が等号の左側に指定された変数やその他の記憶位置に代入されます。Ada と Pascal の場合,コマンド構文では "=" の代わりに ":=" を使用できます。

デバッガはシンボリック・アドレス式 ( プログラムで宣言されるシンボリック名 ) に対応するコンパイラ生成型を認識します。シンボリック・アドレス式には次の要素が含まれます。

  • 変数名。DEPOSIT コマンドで変数を指定するときは,ソース・コードで使用されるものと同じ構文を使用します。

  • ルーチン名,ラベル,行番号。

通常,DEPOSIT コマンドを入力すると,デバッガは次の動作を行います。

  • 等号の左側に指定されたアドレス式を評価し,プログラム記憶位置を求めます。

  • プログラム記憶位置にシンボリック名がある場合には,デバッガはその記憶位置をシンボルのコンパイラ生成型と対応づけます。記憶位置にシンボリック名がない場合 ( したがって,対応するコンパイラ生成型もない場合 ) には,省略時の設定ではデバッガはその位置をロングワード整数型に対応づけます。これは省略時の状態では, 4 バイトを超えない整数値をこれらの記憶位置に格納できることを意味します。

  • 等号の右側に指定された言語式を現在の言語の構文と現在の基数で評価し,値を求めます。現在の言語は前回 SET LANGUAGE コマンドで設定された言語です。省略時の設定では,SET LANGUAGE コマンドを入力しなかった場合,現在の言語はメイン・プログラムを含むモジュールの言語になります。

  • 言語式の値と型がアドレス式の型と一致しているかを調べます。アドレス式の型と互換性のない値を格納しようとすると,デバッガは診断メッセージを発行します。互換性のある値の場合には,デバッガはその値をアドレス式で示される記憶位置に格納します。

言語の規則で許されている場合には,デバッガは格納操作時に型変換を行うことがあります。たとえば,等号の右側に指定される実数値が整数型を持つ記憶位置に格納される場合には,整数値に変換されるでしょう。通常,デバッガは現在の言語の代入規則に従うようにします。

異なる型のデータをプログラム記憶位置に格納できるようにするために,プログラム記憶位置に対応する型を変更する方法はいくつもあります。

  • シンボリック名を 持たない すべての記憶位置に対する省略時の型を変更するには,SET TYPE コマンドを使用して新しい型を指定できます。

  • すべての 記憶位置 ( シンボリック名を持つものと持たないものの両方 ) に対して省略時の型を変更するには, SET TYPE/OVERRIDE コマンドを使用して新しい型を指定できます。

  • 1 つの DEPOSIT コマンドの継続中に特定の記憶位置に現在対応している型を変更するには,修飾子 (/ASCII:n,/BYTE, /TYPE=(name) などを使用することにより新しい型を指定できます。

C または大文字小文字を区別する言語で記述されたプログラムをデバッグする場合,指定した型が大文字小文字混合または小文字のときは, DEPOSIT/TYPE コマンドを使用できません。たとえば,次のような関数を含むプログラムを仮定します。

xyzzy_type foo () 
{ 
xyzzy_type     z; 
z = get_z (); 
return (z); 
} 

次のコマンドを入力しようとすると,デバッガは, "xyzzy_type" 型が見つからないというメッセージを発行します。

DBG> DEPOSIT/TYPE=(xyzzy_type) z="whatever"

デバッガは 2 進数,10 進数,16 進数,8 進数の 4 つの基数のどれか 1 つで整数データを解釈したり表示したりできます。

ほとんどの言語の場合,データの入力と表示の両方に対する省略時の基数は 10 進数です。例外は BLISS と MACRO です。これらの言語での省略時の基数は 16 進数です。

省略時の基数を変更するには,SET RADIX コマンドと SET RADIX/OVERRIDE コマンドを使用できます。

DEPOSIT コマンドは指定されたアドレス式で示される位置に現在の値の組み込みシンボル %CURLOC とピリオド (.) を設定します。論理的先行データ (%PREVLOC またはサーカンフレックス文字 (^) ) と論理的後続データ (%NEXTLOC) は現在の値に基づきます。

関連コマンド

CANCEL TYPE/OVERRIDE
EVALUATE
EXAMINE
MONITOR
(SET,SHOW,CANCEL) RADIX
(SET,SHOW) TYPE

#1
DBG> DEPOSIT I = 7

このコマンドは値 7 を整数変数 I に格納します。

#2
DBG> DEPOSIT WIDTH = CURRENT_WIDTH + 24.80

このコマンドは CURRENT_WIDTH + 24.80 という式の値を実変数 WIDTH に格納します。

#3
DBG> DEPOSIT STATUS = FALSE

このコマンドは値 FALSE をブール変数 STATUS に格納します。

#4
DBG> DEPOSIT PART_NUMBER = "WG-7619.3-84"

この値は文字列 WG-7619.3-84 を文字列変数の PART_NUMBER に格納します。

#5
DBG> DEPOSIT EMPLOYEE.ZIPCODE = 02172

このコマンドは値 02172 をレコード EMPLOYEE の構成要素 ZIPCODE に格納します。

#6
DBG> DEPOSIT ARR(8) = 35
DBG> DEPOSIT ^ = 14

この例では,最初の DEPOSIT コマンドは値 35 を配列 ARR の要素 8 に格納します。結果として,要素 8 が現在の値になります。2 番目のコマンドは値の 14 を要素 8 の論理的先行データ,つまり要素 7 に格納します。

#7
DBG> FOR I = 1 TO 4 DO (DEPOSIT ARR(I) = 0)

このコマンドは配列 ARR の要素 1 から 4 に値 0 を格納します。

#8
DBG> DEPOSIT COLOR = 3
%DEBUG-E-OPTNOTALLOW, operator "DEPOSIT" not allowed on 
     given data type

間違った型のデータを変数に格納しようとすると (この場合,整数値を列挙型変数に格納しようとした場合) デバッガはユーザに警告します。メッセージの重大度 E (エラー) はデバッガが代入を行わないことを表します。

#9
DBG> DEPOSIT VOLUME = - 100
%DEBUG-I-IVALOUTBNDS, value assigned is out of bounds 
     at or near '-'

範囲外の値 (この場合には負の値) を変数に格納しようとすると,デバッガはユーザに警告します。メッセージの重大度 I (情報) は,デバッガが代入を行うことを表します。

#10
DBG> DEPOSIT/BYTE WORK = %HEX 21

このコマンドは %HEX 21 という式を WORK という記憶位置に格納し,それをバイト整数に変換します。

#11
DBG> DEPOSIT/OCTAWORD BIGINT = 111222333444555

このコマンドは 111222333444555 の式を BIGINT 記憶位置に格納し,それをオクタワード整数に変換します。

#12
DBG> DEPOSIT/FLOAT BIGFLT = 1.11949*10**35

このコマンドは 1.11949*10**35 を F 浮動小数点型の値に変換し,それを BIGFLT 記憶位置に格納します。

#13
DBG> DEPOSIT/ASCII:10 WORK+20 = 'abcdefghij'

このコマンドはシンボル WORK で示される記憶位置の 20 バイト先の記憶位置に文字列 "abcdefghij" を格納します。

#14
DBG> DEPOSIT/TASK VAR = %TASK 2
DBG> EXAMINE/HEX VAR
SAMPLE.VAR: 0016A040
DBG> EXAMINE/TASK VAR
SAMPLE.VAR: %TASK 2
DBG>

DEPOSIT コマンドは Ada タスク値の %TASK 2 を記憶位置 VAR に格納します。以降の EXAMINE コマンドの 1 つは VAR の内容を 16 進数形式で表示します。もう 1 つの EXAMINE コマンドは VAR の内容をタスク値として表示します。


目次 索引

© 2012 Hewlett-Packard Development Company, L.P.