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


OpenVMS マニュアル


 

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

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

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


目次 索引




整数データを入力するときと表示するときの基数を設定します。 /OVERRIDE とともに指定すると,すべてのデータが,指定された基数の整数データとして表示されます。

形式

SET RADIX radix


パラメータ



radix

設定する基数を指定します。次のいずれかのキーワードを指定できます。

BINARY 基数を 2 進数に設定する。
DECIMAL 基数を 10 進数に設定する。これは,BLISS, MACRO-32 ,および MACRO-64 (Alpha および Integrity のみ) を除くすべての言語における省略時の設定である。
DEFAULT 基数を言語の省略時の設定にする。
OCTAL 基数を 8 進数に設定する。
HEXADECIMAL 省略時の基数を 16 進数に設定する。これは, BLISS, MACRO-32 ,および MACRO-64 (Alpha および Integrity のみ) の省略時の設定である。


修飾子



/INPUT

入力基数 (整数データを入力するときの基数) だけを,指定された基数に設定します。

/OUTPUT

出力基数 (整数データを表示するときの基数) だけを,指定された基数に設定します。

/OVERRIDE

すべてのデータを指定された基数の整数データとして表示します。

説明

現在の基数設定は,デバッガが次の状況で整数データを解釈し,表示する方法に影響を与えます。

  • アドレス式または言語式で指定する整数データ

  • EXAMINE コマンドおよび EVALUATE コマンドによって表示される整数データ

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

SET RADIX コマンドを使用して,データの入力または表示の新しい基数 ( 入力基数と出力基数それぞれ ) を指定できます。

修飾子を指定しないと,SET RADIX コマンドは入力基数と出力基数の両方を変更します。/INPUT または /OUTPUT を指定すると,このコマンドは,それぞれ入力基数または出力基数を変更します。

SET RADIX/OVERRIDE を使用すると,変更されるのは出力基数だけですが, すべての データ ( 整数型のデータだけでなく ) が,指定された基数の整数データとして表示されます。

SET RADIX コマンドは,/OVERRIDE とともに使用する以外は,非整数型の値 ( 実数型の値や列挙型の値など ) の解釈や表示には影響しません。

コマンド EVALUATE,EXAMINE,DEPOSIT には,基数修飾子 (/BINARY,/HEXADECIMAL など ) があります。これらを指定すると,そのコマンドの実行中は SET RADIX または SET RADIX/OVERRIDE で設定した基数を上書きできます。

また,組み込みシンボル %BIN,%DEC,%HEX,%OCT をアドレス式と言語式で使用すると,整数リテラルを 2 進数,10 進数,16 進数または 8 進数の基数で解釈するように指定できます。

関連コマンド

DEPOSIT
EVALUATE
EXAMINE
(SET,SHOW,CANCEL) MODE
(SHOW,CANCEL) RADIX


#1
DBG> SET RADIX HEX

このコマンドは,基数を 16 進数に設定します。これは,省略時の設定では,整数データが 16 進数の基数で解釈され表示されることを意味しています。

#2
DBG> SET RADIX/INPUT OCT

このコマンドは,入力基数を 8 進数に設定します。これは,省略時の設定では,入力された整数データは 8 進数の基数で解釈されることを意味しています。

#3
DBG> SET RADIX/OUTPUT BIN

このコマンドは,出力基数を 2 進数に設定します。これは,省略時の設定では,整数データが 2 進数の基数で表示されることを意味しています。

#4
DBG> SET RADIX/OVERRIDE DECIMAL

このコマンドは,上書き基数を 10 進数に設定します。これは,省略時の設定では,すべてのデータ ( 整数型のデータに限らず ) が10 進整数データとして表示されることを意味しています。




パス名接頭識別子を指定しない場合に,デバッガがシンボル ( 変数名,ルーチン,行番号など ) を検索する方法を設定します。

形式

SET SCOPE location[,...]


パラメータ



location

パス名接頭識別子を使用しないで指定したシンボルを解釈するときに使用するプログラム領域 ( 有効範囲 ) を示します。 /CURRENT または/MODULE を指定しない場合,記憶位置は次のいずれかを指定できます。

path-name prefix パス名接頭識別子で示される有効範囲を指定します。パス名接頭識別子は,1 つまたは複数のネストしているプログラムの要素 ( モジュール,ルーチン,ブロックなど ) の名前で構成されます。これらの名前はバックスラッシュ (\) で区切られています。パス名接頭識別子が 2 つ以上の名前で構成される場合,(\) の左にはネスト要素を入れ,右にはネストされた要素を入れます。共通パス名接頭識別子の形式は, module(\)routine(\)block(\) です。

モジュール名だけを指定し,その名前がルーチン名と同じである場合は, /MODULE を使用します。そうしないと,そのルーチンを指定しているものとデバッガがみなします。

n 呼び出しスタックの nレベル下にあるルーチンによって示される有効範囲を指定します ( nは 10 進整数です)。整数によって指定される有効範囲は,プログラムの実行に伴い動的に変化します。値 0 は,現在実行中のルーチンを示し,値 1 は,そのルーチンの呼び出し元を示すというように呼び出しスタックを下っていきます。省略時の有効範囲検索リストは, 0,1,2,...,nです。ここで nは呼び出しスタック内の呼び出し数です。
\ (バックスラッシュ) グローバルな有効範囲---すなわち,グローバル・シンボルの存在が認識されているすべてのプログラム記憶位置の集合を指定します。グローバル・シンボルの定義と宣言方法は,言語によって異なります。

記憶位置パラメータを 2 個以上指定すると,有効範囲検索リストが設定されます。デバッガは最初のパラメータを使用してシンボルを解釈できないと,次のパラメータを使用し,正しくシンボルを解釈するか指定されたパラメータがなくなるまで,リストに並んでいる順にパラメータを使用します。


修飾子



/CURRENT

省略時の検索リストに似た有効範囲検索リスト (0,1,2,...,n) を設定します。ただし,コマンド・パラメータとして指定された数値の有効範囲で開始します。有効範囲 0 は PC 有効範囲であり,nは,呼び出しスタック内の呼び出し数です。

SET SCOPE/CURRENT を使用する場合,次の規則と動作に注意してください。

  • コマンドを入力するときに省略時の有効範囲検索リストが有効でなければならない。省略時の有効範囲検索リストを復元するには,CANCEL SCOPE コマンドを入力する。

  • 指定するコマンド・パラメータは,1 つだけであり,0 から n までの 10 進整数でなければならない。

  • 画面モードの場合,コマンドは定義済みのソース・ディスプレイ SRC,定義済みの機械語命令ディスプレイ INST,定義済みのレジスタ・ディスプレイ REG をそれぞれ更新して,シンボル検索を開始する呼び出しスタック上のルーチンを表示する。

  • プログラムの実行を再開すると,省略時の有効範囲検索リストが復元される。



/MODULE

コマンド・パラメータとして指定された名前がモジュール名であり,ルーチン名ではないことを指定します。モジュール名をコマンド・パラメータとして指定し,そのモジュール名がルーチン名と同じであることを指定する場合は,/MODULE を使用しなければなりません。

説明

省略時の設定では,デバッガは,有効範囲検索リスト 0,1,2,..., n に従い,パス名接頭識別子が指定されていないシンボルを検索します。n は,呼び出しスタック内に存在する呼び出し数です。この有効範囲検索リストは,現在のPC 値に基づいており,プログラムの実行に伴い動的に変化します。省略時の有効範囲検索リストは次のように指定します。すなわち,EXAMINE X などのシンボル検索は最初に,現在実行中のルーチン ( 有効範囲 0 すなわち PC 有効範囲ともいいます ) で X を検索し,そこで X が見つからなければ,そのルーチンの呼び出し元 ( 有効範囲 1) で検索するというように呼び出しスタックのレベルを下げていくことを指定します。有効範囲 n 内で X が見つからなければ,実行時シンボル・テーブル (RST) の残り,すなわちすべての設定されたモジュールとグローバル・シンボル・テーブル (GST) を検索します。

ほとんどの場合は,この省略時の有効範囲検索リストを使用すれば,言語規則に準拠した自然な方法であいまいさを解消できます。ただし,何回実行しても定義されているシンボルにアクセスできないときは,次のいずれかの方法を使用します。

  • パス名接頭識別子を付けてシンボルを指定する。パス名接頭識別子は,シンボルを別々のものとして指定するのに必要な,ネストしているプログラム・ユニット ( たとえば, module\routine\block) で構成される。例を次に示す。

    DBG> EXAMINE MOD4\ROUT3\X
    DBG> TYPE MOD4\27
    

  • SET SCOPE コマンドを使用してシンボル検索用の新しい省略時の有効範囲 ( すなわち有効範囲検索リスト ) を設定する。この結果,次の例に示すように,パス名接頭識別子を付けずにシンボルだけを指定できる。

    DBG> SET SCOPE MOD4\ROUT3
    DBG> EXAMINE X
    DBG> TYPE 27
    

SET SCOPE コマンドは,シンボルを指定するたびにパス名を使用しなければならない場合に便利です。

SET SCOPE はデバッガの言語設定を指定したスコープの言語に変更します。

省略時の有効範囲検索リストを復元するには,CANCEL SCOPE コマンドを使用します。

省略時の有効範囲検索リストが有効であれば,SET SCOPE/CURRENT コマンドを使用して,シンボル検索を有効範囲 0 以外の数値 ( 呼び出しスタックから数えた数値 ) の有効範囲 ( たとえば,有効範囲 2) で開始することを指定できます。

SET SCOPE コマンドを使用し,/CURRENT を指定しないと,デバッガは明示的に指定したプログラム記憶位置だけを検索します。また,SET SCOPE コマンドで設定した有効範囲または有効範囲検索リストは,省略時の有効範囲検索リストを復元するか新たに SET SCOPE コマンドを指定するまで有効です。ただし,/CURRENT を指定すれば,プログラムの実行が再開されるたびに省略時の有効範囲検索リストが復元されます。

SET SCOPE コマンドは,/CURRENT が指定されたときだけ画面モード・ソース・ディスプレイまたは機械語命令ディスプレイを更新します。

SET SCOPE コマンドで指定した名前がモジュールとルーチンの両方の名前である場合,デバッガは有効範囲をルーチンに設定します。このような場合は,SET SCOPE/MODULE コマンドを使用すれば,有効範囲をモジュールに設定できます。

SET SCOPE コマンドで指定したモジュール名を持つモジュールがまだ設定されていないと,デバッガはそのモジュールを設定します。ただし,モジュールだけを設定する場合は,SET SCOPE コマンドではなく SET MODULE コマンドを使用してください。 SET SCOPE コマンドを使用すると,現在の有効範囲検索リストを妨害する可能性があるためです。

関連コマンド

CANCEL ALL
SEARCH
SET MODULE
(SHOW,CANCEL) SCOPE
SHOW SYMBOL
SYMBOLIZE
TYPE

#1
DBG> EXAMINE Y
%DEBUG-W-NOUNIQUE, symbol 'Y' is not unique
DBG> SHOW SYMBOL Y
    data CHECK_IN\Y 
    data INVENTORY\COUNT\Y
DBG> SET SCOPE INVENTORY\COUNT
DBG> EXAMINE Y
INVENTORY\COUNT\Y: 347.15
DBG>

この例では,最初の EXAMINE Y コマンドは,シンボル Y が何回も定義されており,現在の有効範囲検索リストでは解消できないことを示しています。SHOW SYMBOL コマンドは,宣言されているシンボル Y をすべて表示します。SET SCOPE コマンドは,INVENTORY モジュールの COUNT ルーチンでパス名接頭識別子のないシンボルを検索するようにデバッガに指示します。この結果,その次のEXAMINE コマンドは,Y を明確に解釈できます。

#2
DBG> CANCEL SCOPE
DBG> SET SCOPE/CURRENT 1

この例では,CANCEL SCOPE コマンドが省略時の有効範囲検索リスト(0,1,2,...,n)を復元します。次に SET SCOPE/CURRENT コマンドが有効範囲検索リストを 1,2,...,n に変更し,シンボル検索が有効範囲 1 (すなわち,実行が現在中断しているルーチンの呼び出し元) で開始するようにします。定義済みソース表示 SRC と機械語命令ディスプレイ INST が更新され,実行が中断しているルーチンの呼び出し元のソースと命令を表示するようになります。

#3
DBG> SET SCOPE 1
DBG> EXAMINE %R5

この例では,SET SCOPE コマンドは,有効範囲 1 ( すなわち,実行が中断しているルーチンの呼び出し元 ) でパス名接頭識別子のないシンボルを検索するようにデバッガに指示します。EXAMINE コマンドは,呼び出し元のルーチンのレジスタ R5 の値を表示します。 SET SCOPE コマンドとともに /CURRENT を指定しないと,ソース表示または機械語命令ディスプレイは更新されません。

#4
DBG> SET SCOPE 0, STACKS\R2, SCREEN

このコマンドは,次の有効範囲検索リストに従ってパス名接頭識別子のないシンボルを検索するようにデバッガに指示します。これにより,デバッガは最初に PC 有効範囲 (0 で示される ) で検索します。ここで指定されたシンボルを見つけることができないと, STACKS モジュールの R2 ルーチンで探します。それでも見つからない場合は,SCREEN モジュール内を検索します。ここでも指定されたシンボルを見つけることができないと,デバッガはそれ以上は検索しません。

#5
DBG> SHOW SYMBOL X
data ALPHA\X                ! global X 
data ALPHA\BETA\X           ! local X 
data X (global)             ! same as ALPHA\X
DBG> SHOW SCOPE
scope: 0 [ = ALPHA\BETA ]
DBG> SYMBOLIZE X
address ALPHA\BETA\%R0: 
    ALPHA\BETA\X
DBG> SET SCOPE \
DBG> SYMBOLIZE X
address 00000200: 
    ALPHA\X 
address 00000200: (global) 
    X
DBG>

この例では,SHOW SYMBOL コマンドが,シンボル X に対して 2 つの宣言 ( グローバル ALPHA\X (2 回定義されている ) とローカル ALPHA\BETA\X) があることを示します。現在の有効範囲では,X (ALPHA\BETA\X) のローカル宣言が可視状態にあります。有効範囲がグローバルな有効範囲 (SET SCOPE \) に設定されたあとで,X のグローバル宣言が可視状態になります。




SEARCH コマンドの省略時の修飾子 (/ALL または /NEXT,/IDENTIFIER または /STRING) を設定します。

形式

SET SEARCH search-default[,...]


パラメータ



search-default

SEARCH コマンドの省略時の修飾子を指定します。次のキーワード (SEARCH コマンド修飾子と同じです ) を指定できます。

ALL それ以降の SEARCH コマンドが SEARCH/NEXT ではなく SEARCH/ALL として扱われます。
IDENTIFIER それ以降の SEARCH コマンドが SEARCH/STRING ではなく SEARCH/IDENTIFIER として扱われます。
NEXT 省略時の設定。それ以降の SEARCH コマンドが SEARCH/ALL ではなく SEARCH/NEXT として扱われます。
STRING 省略時の設定。それ以降の SEARCH コマンドが SEARCH/IDENTIFIER ではなく SEARCH/STRING として扱われます。


説明

SET SEARCH コマンドは,それ以降の SEARCH コマンドの省略時の修飾子を設定します。SET SEARCH に指定するパラメータは,SEARCH コマンドの修飾子と同じ名前です。これらの修飾子は,SEARCH コマンドが (1) その文字列のすべての出現箇所を検索するか (ALL) または次の出現箇所だけを検索するか (NEXT) を決定し,さらに (2) その文字列の任意の出現箇所を表示するか (STRING) または現在の言語で識別子の一部を構成できる文字によってどちら側にもつながっていない文字列の出現箇所だけを表示するか (IDENTIFIER) を決定します。

1 つの SEARCH コマンドの実行中に,別の SEARCH 修飾子を指定すれば,現在の SEARCH の省略時の修飾子を上書きできます。現在の SEARCH の省略時の修飾子を表示するには,SHOW SEARCH コマンドを使用します。

関連コマンド

SEARCH
(SET,SHOW) LANGUAGE
SHOW SEARCH

DBG> SHOW SEARCH
search settings: search for next occurrence, as a string
 
DBG> SET SEARCH IDENTIFIER
DBG> SHOW SEARCH
search settings: search for next occurrence, as an identifier
 
DBG> SET SEARCH ALL
DBG> SHOW SEARCH
search settings: search for all occurrences, as an identifier
DBG>

この例では,SET SEARCH IDENTIFIER コマンドが,指定された範囲内でその文字列が出現するところを検索するが,現在の言語の識別子の一部になれる文字によってどちらの側にもつながっていない場合だけ,その文字列を表示するようにデバッガに指示します。

SET SEARCH ALL コマンドは,指定された範囲内でその文字列が出現するところをすべて検索し表示します。


目次 索引

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