HP OpenVMS Systems Documentation |
| 前へ | 次へ | 目次 | 索引 |
整数データの入力や表示のための現在の基数を示します。 /OVERRIDE が指定された場合には,現在の上書き型の基数を示します。
SHOW RADIX
/OVERRIDE
現在の上書き型の基数を示します。
デバッガは 2 進数,10 進数,16 進数,8 進数の 4 つの基数のどれか 1 つで整数データを解釈したり表示したりできます。整数データの入力や表示のための現在の基数は前回 SET RADIX コマンドで設定した基数です。SET RADIX コマンドを入力していなかった場合,データの入力や表示のための省略時の基数はほとんどの言語の場合 10 進数です。例外は BLISS と MACRO です。これらの言語での省略時の基数は 16 進数です。
すべてのデータの表示用の現在の上書き型の基数は前回 SET RADIX/OVERRIDE コマンドで設定した上書き型の基数になります。 SET RADIX/OVERRIDE コマンドを入力していなかった場合,変更型の基数は "ありません"。
関連コマンド
DEPOSIT
EVALUATE
EXAMINE
(SET,CANCEL) RADIX
| #1 |
|---|
DBG> SHOW RADIX input radix: decimal output radix: decimal DBG> |
このコマンドは入力基数と出力基数を 10 進数として表示します。
| #2 |
|---|
DBG> SET RADIX/OVERRIDE HEX DBG> SHOW RADIX/OVERRIDE output override radix: hexadecimal DBG> |
この例では,SET RADIX/OVERRIDE コマンドは上書き型の基数を 16 進数に設定し,SHOW RADIX/OVERRIDE コマンドは上書き型の基数を示します。これは,EXAMINE などのコマンドがすべてのデータを 16 進整数データとして表示することを意味します。
シンボル検索のための現在の有効範囲検索リストを示します。
SHOW SCOPE
現在の有効範囲検索リストは,デバッガ・コマンドにパス名接頭辞を付けずに指定されるシンボルの解釈に使用する ( パス名またはその他の特殊文字で指定される ) 1 つまたは複数のプログラム記憶位置を指定します。現在の有効範囲検索リストは前回 SET SCOPE コマンドで設定された有効範囲検索リストです。省略時の設定では,SET SCOPE コマンドが入力されていなかった場合,現在の有効範囲検索リストは 0,1,2,...,nになります。
省略時の有効範囲検索リストは,パス名接頭辞を持たないシンボルに対して,EXAMINE X のようなシンボル検索の場合,最初に現在実行中のルーチン ( 有効範囲 0) で X を検索し,そこで X が可視になっていなければ,そのルーチンの呼び出し元 ( 有効範囲 1) を検索していくというように,呼び出しスタックを順々に検索していくことを指定します。有効範囲 n にも X が見つかれなければ,デバッガは実行時シンボル・テーブル (RST) の残り,つまり,設定されているすべてのモジュールと必要であればグローバル・シンボル・テーブル (GST) を検索します。
呼び出しスタックのルーチンを表現するために SET SCOPE コマンドに 10 進整数を使用した場合には,SHOW SCOPE コマンドは可能であれば,整数で表現されるルーチン名を表示します。
関連コマンド
(SET,CANCEL) SCOPE
| #1 |
|---|
DBG> CANCEL SCOPE
DBG> SHOW SCOPE
scope:
* 0 [ = EIGHTQUEENS\TRYCOL\REMOVEQUEEN ],
1 [ = EIGHTQUEENS\TRYCOL ],
2 [ = EIGHTQUEENS\TRYCOL 1 ],
3 [ = EIGHTQUEENS\TRYCOL 2 ],
4 [ = EIGHTQUEENS\TRYCOL 3 ],
5 [ = EIGHTQUEENS\TRYCOL 4 ],
6 [ = EIGHTQUEENS ]
DBG> SET SCOPE/CURRENT 2
DBG> SHOW SCOPE
scope:
0 [ = EIGHTQUEENS\TRYCOL\REMOVEQUEEN ],
1 [ = EIGHTQUEENS\TRYCOL ],
* 2 [ = EIGHTQUEENS\TRYCOL 1 ],
3 [ = EIGHTQUEENS\TRYCOL 2 ],
4 [ = EIGHTQUEENS\TRYCOL 3 ],
5 [ = EIGHTQUEENS\TRYCOL 4 ],
6 [ = EIGHTQUEENS ]
DBG>
|
CANCEL SCOPE コマンドは省略時の有効範囲検索リストを復元します。省略時の有効範囲検索リストは ( 最初の ) SHOW SCOPE コマンドで表示されます。この例では,ルーチン TRYCOL への数回の再帰呼び出しのあと,実行は REMOVEQUEEN ルーチンで中断されます。アスタリスク (*) は有効範囲検索リストが有効範囲 0,つまり実行が中断されるルーチンの有効範囲で始まることを示します。
例の SET SCOPE/CURRENT コマンドは有効範囲検索リストの始まりを有効範囲 2 に再設定します。有効範囲 2 は実行が中断されるルーチンの呼び出し元の有効範囲です。(2 番目の ) SHOW SCOPE コマンドの出力に付いているアスタリスクは有効範囲検索リストが今度は有効範囲 2 で始まることを表します。
| #2 |
|---|
DBG> SET SCOPE 0,STACKS\R2,SCREEN_IO,\
DBG> SHOW SCOPE
scope:
0, [= TEST ],
STACKS\R2,
SCREEN_IO,
\
DBG>
|
この例では,SET SCOPE コマンドはデバッガに次の有効範囲検索リストに従ってパス名接頭辞を持たないシンボルを検索するように指示します。最初に,デバッガは PC 範囲 (0 で示され,モジュール TEST にある ) を検索します。PC 範囲内に指定されたシンボルが見つからないと,次にモジュール STACKS のルーチン R2 を検索します。必要であれば,次にモジュール SCREEN_IO を検索し,最後に ( グローバル有効範囲 (\) で示される ) グローバル・シンボル・テーブルを検索します。 SHOW SCOPE コマンドはシンボル検索のための現在の有効範囲検索リストを示します。省略時の有効範囲検索リストが有効になっているか,または SET SCOPE/CURRENT コマンドを入力した場合を除き, SHOW SCOPE 表示にアスタリスクは示されません。
SEARCH コマンドに対して現在有効になっている省略時の修飾子 (/ALL か /NEXT,/IDENTIFIER か /STRING) を示します。
SHOW SEARCH
SEARCH コマンドの省略時の修飾子は前回 SET SEARCH コマンドで設定された省略時の修飾子です。 SET SEARCH コマンドを入力していなかった場合には,省略時の修飾子として /NEXT と /STRING が使用されます。関連コマンド
SEARCH
(SET,SHOW) LANGUAGE
SET SEARCH
DBG> SHOW SEARCH search settings: search for next occurrence, as a string DBG> SET SEARCH IDENT 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> |
この例では,最初の SHOW SEARCH コマンドは SET SEARCH コマンドの省略時の設定を表示します。省略時の設定では,デバッガは指定文字列が次に現れる箇所を検索し,表示します。
2 番目の SHOW SEARCH コマンドは,デバッガが指定文字列の次に現れる箇所を検索するものの,その前後が現在の言語の識別子の一部になり得る文字に接していない場合だけその文字列を表示することを通知します。
3 番目の SHOW SEARCH コマンドはデバッガが指定文字列の現れる箇所すべてを検索するものの,その前後が現在の言語の識別子の一部になり得る文字に接していない場合だけそれらの文字列を表示することを通知します。
ディスプレイ属性,つまりエラー,入力,命令,出力,プログラム,プロンプト,スクロール,ソースのそれぞれに対して現在選択されているディスプレイを示します。
注意
このコマンドは,デバッガへの HP DECwindows Motif for OpenVMS ユーザ・インタフェースでは使用できません。
SHOW SELECT
ディスプレイ属性には次の特性があります。
- エラー属性 を持つディスプレイはデバッガ診断メッセージを表示する。
- 入力属性 を持つディスプレイはデバッガ入力をエコーバックする。
- 命令属性 を持つディスプレイはデバッグの対象になっているルーチンのデコードされた命令ストリームを表示する。 EXAMINE/INSTRUCTION コマンドを入力すると,ディスプレイは更新される。
- 出力属性 を持つディスプレイは他のディスプレイには出力されないデバッガ出力を表示する。
- プログラム属性を持つディスプレイはプログラムの入出力を表示する。現在,PROMPT ディスプレイだけがプログラム属性を持つことができる。
- プロンプト属性 を持つディスプレイは,デバッガが入力を求める場所である。現在,PROMPT ディスプレイだけが PROMPT 属性を持つことができる。
- スクロール属性 を持つディスプレイは,SCROLL,MOVE, EXPAND の各コマンドの省略時のディスプレイである。
- ソース属性 を持つディスプレイはデバッグの対象になっているモジュールのソース・コードが表示できればそれを表示する。 TYPE コマンドまたは EXAMINE/SOURCE コマンドを入力するとディスプレイは更新される。
関連コマンド
SELECT
SHOW DISPLAY
DBG> SHOW SELECT
display selections:
scroll = SRC
input = none
output = OUT
error = PROMPT
source = SRC
instruction = none
program = PROMPT
prompt = PROMPT
DBG>
|
SHOW SELECT コマンドはディスプレイ属性のそれぞれに対して現在選択されているディスプレイを示します。選択されているディスプレイは言語の省略時の設定です。
現在有効になっている,ソース・ディレクトリの検索リストと検索方法を示します。
SHOW SOURCE
/DISPLAY
デバッガがソース・コードを表示するときに使用する検索リストを指定します。/EDIT
デバッガが EDIT コマンドの実行時に使用する検索リストを示します。
SET SOURCE/MODULE=module-name コマンドは特定のモジュールに対するソース・ディレクトリ検索リストを設定します。 SET SOURCE コマンドは SET SOURCE/MODULE=module-name コマンドで明示的に指定されていないすべてのモジュールに対してソース・ディレクトリ検索リストを設定します。これらのコマンドを使用していた場合,SHOW SOURCE は各検索カテゴリに対応するソース・ディレクトリ検索リストを示します。ソース・ディレクトリ検索リストが SET SOURCE コマンドまたは SET SOURCE/MODULE=module-name コマンドによって設定されていない場合には,SHOW SOURCE コマンドはディレクトリ検索リストが現在有効になっていないことを通知します。この場合,各ソース・ファイルはそれがコンパイル時に存在していたディレクトリにあるものと判断されます ( デバッガはさらにソース・ファイルのバージョン番号と作成日時がデバッガのシンボル・テーブルの情報に一致するかもチェックします )。
ソース・コードの表示用に使用するファイルが EDIT コマンドを使用して編集するファイルと異なっている場合には,/EDIT 修飾子を指定する必要があります。Ada プログラムの場合がそうです。 Ada プログラムの場合,SHOW SOURCE コマンドはソース表示に使用するファイル (Ada プログラム・ライブラリの " コピーされたソース・ファイルの検索リストを示します。 SHOW SOURCE/EDIT コマンドは,EDIT コマンドを使用して編集されるソース・ファイルの検索リストを示します。
Ada プログラムに特有の情報については, Help Language_Support Ada とタイプして参照してください。
関連コマンド
(SET,CANCEL) SOURCE
| #1 |
|---|
DBG> SHOW SOURCE
no directory search list in effect,
match the latest source file version
DBG> SET SOURCE [PROJA],[PROJB],DISK:[PETER.PROJC]
DBG> SHOW SOURCE
source directory search list for all modules,
match the latest source file version:
[PROJA]
[PROJB]
DISK:[PETER.PROJC]
DBG>
|
この例では,SET SOURCE コマンドはデバッガに [PROJA],[PROJB], DISK:[PETER.PROJC] の各ディレクトリを検索するように指示します。省略時の設定では,デバッガはソース・ファイルの最新バージョンを検索します。
| #2 |
|---|
DBG> SET SOURCE/MODULE=CTEST/EXACT [], DISK$2:[PROJD]
DBG> SHOW SOURCE
source directory search list for CTEST,
match the exact source file version:
[]
DISK$2:[PROJD]
source directory search list for all other modules,
match the latest source file version:
[PROJA]
[PROJB]
DISK:[PETER.PROJC]
DBG>
|
この例では,SET SOURCE コマンドはデバッガに現在の省略時のディレクトリ ( []) と DISK$2:[PROJD] ディレクトリを検索して, CTEST モジュールで使用するソース・ファイルを検索するように指示します。/EXACT 修飾子は,デバッグ・シンボル・テーブルにあるバージョンと正確に一致するバージョンの CTEST ソース・ファイルを検索するように指定しています。
現在アクティブなルーチン呼び出しに関する情報を表示します。
SHOW STACK [integer]
integer
表示するフレームの数を指定します。このパラメータを省略すると,デバッガはすべての呼び出しフレームに関する情報を表示します。
各呼び出しフレームについて,SHOW STACK コマンドは,スタック・ポインタ,条件ハンドラ,保存されたレジスタ値 (Alpha および VAX),ローカル・レジスタ割り当て (I64),および存在する場合は引数リスト (VAX) などの情報を表示します。レジスタまたは引数リストで渡された引数には,実際の引数のアドレスが入っていることもあります。そのような場合,それらの引数の値を表示するには,EXAMINE address-expression コマンドを使用します。VAX プロセッサでは,1 回のルーチン呼び出しでメモリ・スタック上に呼び出しフレームが 1 つ作成されます。
Alpha プロセッサと I64 プロセッサでは,ルーチン呼び出しは,次のいずれかとして扱われます。
- スタック・フレーム・プロシージャ。メモリ・スタック上に呼び出しフレームが作成されます。
- レジスタ・フレーム・プロシージャ。レジスタ・セット (Alpha) またはレジスタ・スタック (I64) に呼び出しフレームが作成されます。
- 空フレーム・プロシージャ。呼び出しフレームは作成されません。
SHOW STACK コマンドは,3 つのプロシージャ (スタック・フレーム,レジスタ・フレーム,空フレーム) すべての情報を出力します。 (下記の例を参照してください。)
関連コマンド
SHOW CALLS
VAX の例を示します。
DBG> SHOW STACK stack frame 0 (2146814812) condition handler: 0 SPA: 0 S: 0 mask: ^M<r2> PSW: 0000 (hexadecimal) saved AP: 7 saved FP: 2146814852 saved PC: EIGHTQUEENS\%LINE 69 saved R2: 0 argument list:(1) EIGHTQUEENS\%LINE 68+2 stack frame 1 (2146814852) condition handler: SHARE$PASRTL+888 SPA: 0 S: 0 mask: none saved PSW: 0000 (hexadecimal) saved AP: 2146814924 saved FP: 2146814904 saved PC: SHARE$DEBUG+667 DBG>
上記の例では,SHOW STACK コマンドは,現在の PC および FP の位置にあるすべての呼び出しスタック・フレームに関する情報を表示します。
Alpha の例を示します。
DBG> SHOW STACK invocation block 0 FP: 000000007F907AD0 Detected what appears to be a NULL frame NULL frames operate in the same invocation context as their caller NULL Procedure Descriptor (0000000000010050): Flags: 3089 KIND: PDSC$K_KIND_FP_STACK (09) Signature Offset 0000 Entry Address: MAIN\FFFF Procedure Descriptor (0000000000010000): Flags: 3089 KIND: PDSC$K_KIND_FP_STACK (09) FP is Base Register Rsa Offset: 0008 Signature Offset 0000 Entry Address: MAIN Ireg Mask: 20000004 <R2,FP> RA Saved @ 000000007F907AD8: FFFFFFFF8255A1F8 R2 Saved @ 000000007F907AE0: 000000007FFBF880 FP Saved @ 000000007F907AE8: 000000007F907B30 Freg Mask: 00000000 Size: 00000020 invocation block 1 FP: 000000007F907B30 Procedure Descriptor (FFFFFFFF8255D910): Flags: 3099 KIND: PDSC$K_KIND_FP_STACK (09) Handler Valid FP is Base Register Rsa Offset: 0048 Signature Offset 0001 Entry Address: -2108317536 Ireg Mask: 20002084 <R2,R7,R13,FP> RA Saved @ 000000007F907B78: 000000007FA28160 R2 Saved @ 000000007F907B80: 0000000000000000 R7 Saved @ 000000007F907B88: 000000007FF9C9E0 R13 Saved @ 000000007F907B90: 000000007FA00900 FP Saved @ 000000007F907B98: 000000007F907BB0 Freg Mask: 00000000 Size: 00000070 Condition Handler: -2108303104 DBG>
上記の例では,ルーチンのプロローグおよびエピローグが空フレームとしてデバッガに表示されることに注意してください。フレーム・ポインタ (FP) が変更される前のプロローグの部分およびフレーム・ポインタ (FP) が回復された後のエピローグの部分は,それぞれ空フレームのように見えるため,空フレームと報告されます。
I64 の例を示します。例の中では,次の略語が使用されています。
GP---グローバル・データ・セグメント・ポインタ (%R1)
PC---プログラム・カウンタ (命令ポインタ + 命令スロット番号)
SP---スタック・ポインタ (メモリ・スタック)
BSP---バッキング・ストア・ポインタ (レジスタ・スタック)
CFM---現在のフレーム・マーカ
DBG> SHOW STACK Invocation block 0 Invocation handle 000007FDC0000270 GP: 0000000000240000 PC: MAIN\FFFF In prologue region RETURN PC: MAIN\%LINE 15 SP: 000000007AD13B40 Is memory stack frame: previous SP: 000000007AD13B40 BSP: 000007FDC0000270 Is register stack frame: previous BSP: 000007FDC0000248 CFM: 0000000000000005 No locals Outs R32 : R36 Invocation block 1 Invocation handle 000007FDC0000248 GP: 0000000000240000 PC: MAIN\%LINE 15 RETURN PC: 0FFFFFFFF80C2A200 SP: 000000007AD13B40 Is memory stack frame: previous SP: 000000007AD13B70 BSP: 000007FDC0000248 Is register stack frame: previous BSP: 000007FDC0000180 CFM: 000000000000028A Ins/Locals R32 : R36 Outs R37 : R41 Invocation block 2 Invocation handle 000007FDC0000180 GP: 0FFFFFFFF844DEC00 PC: 0FFFFFFFF80C2A200 RETURN PC: SHARE$DCL_CODE0+5AB9F SP: 000000007AD13B70 Is memory stack frame: previous SP: 000000007AD13BC0 BSP: 000007FDC0000180 Is register stack frame: previous BSP: 000007FDC00000B8 Has handler: function value: 0FFFFFFFF842DFBD0 CFM: 0000000000000C20 Ins/Locals R32 : R55 Outs R56 : R63 DBG>
詳細は,『OpenVMS Calling Standard』を参照してください。
| 前へ | 次へ | 目次 | 索引 |