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


前へ 次へ 目次 索引



SHOW SELECT

ディスプレイ属性,つまりエラー,入力,命令,出力,プログラム,プロンプト,スクロール,ソースのそれぞれに対して現在選択されているディスプレイを示します。

注意

このコマンドは,デバッガへの Compaq DECwindows Motif for OpenVMS ユーザ・インタフェースでは使用できません。


形式

SHOW SELECT


説明

ディスプレイ属性には次の特性があります。

関連コマンド

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

現在有効になっている,ソース・ディレクトリの検索リストと検索方法を示します。

形式

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

現在アクティブなルーチン呼び出しに関する情報を表示します。

形式

SHOW STACK [integer]


パラメータ

integer

表示するフレームの数を指定します。このパラメータを省略すると,デバッガはすべての呼び出しフレームに関する情報を表示します。

説明

各呼び出しフレームについて,SHOW STACK コマンドは,条件ハンドラ,保存されたレジスタ値,引数リストなどの情報があれば表示します。引数リストはその呼び出しを使用してサブルーチンに引き渡される引数のリストです。場合によっては,引数リストに実際の引数のアドレスを入れられます。そのような場合,それらの引数の値を表示するには,EXAMINE address-expression コマンドを使用します。

VAX プロセッサでは,1 回のルーチン起動で呼び出しスタックに呼び出しフレームが 1 つ生じます。

Alpha プロセッサでは,ルーチン起動を行うと(スタックに呼び出しフレームが生じる)スタック・フレーム・プロシージャ,(レジスタに呼び出しフレームが格納される)レジスタ・フレーム・プロシージャ,または(呼び出しフレームのない)空フレーム・プロシージャが生じる可能性があります。SHOW STACK はスタック・フレーム・プロシージャとレジスタ・フレーム・プロシージャの情報は提供しますが,空フレーム・プロシージャの情報は提供しません。(例 2 を参照。)

関連コマンド

SHOW CALLS

#1

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>
 

VAX システムの場合のこの例では,SHOW STACK コマンドは現在の PC 記憶位置にあるすべての呼び出しスタック・フレームに関する情報を表示します。

#2

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> 
 

これは,Alpha システムの例です。ルーチン・セクションのプロローグおよびエピローグが空フレームとなるデバッガに表示されることに注意してください。フレーム・ポインタ(FP)内の変化前のプロローグ部分およびフレーム・ポインタ(FP)の回復後のエピローグ部分は,それぞれ空フレームのように見えるため,空フレームと報告されます。


SHOW STEP

STEP コマンドに対して現在有効になっている省略時の修飾子(/INTO,/INSTRUCTION,/NOSILENT など)を示します。

形式

SHOW STEP


説明

STEP コマンドの省略時の修飾子は前回 SET STEP コマンドで設定された省略時の修飾子です。SET STEP コマンドを入力していなかった場合,省略時の修飾子として /LINE,/OVER,/NOSILENT,/SOURCE が使用されます。

PF1-PF3 を押すことにより画面モードを有効にすると,(出力表示と DO 表示の冗長ソース表示を削除するために)SET MODE SCREEN コマンドだけでなく SET STEP NOSOURCE コマンドも入力されます。この場合,省略時の修飾子として /LINE,/OVER,/NOSILENT,/NOSOURCE が使用されます。

関連コマンド

STEP
SET STEP


DBG> SET STEP INTO,NOSYSTEM,NOSHARE,INSTRUCTION,NOSOURCE
DBG> SHOW STEP
step type: nosystem, noshare, nosource, nosilent, into routine calls, 
           by instruction
DBG>

この例では,SHOW STEP コマンドはデバッガが次の処置を取ることを示します。


SHOW SYMBOL

現在のイメージに対してデバッガの実行時シンボル・テーブル(RST)に関する情報を表示します。

注意

現在のイメージはメイン・イメージ(省略時の設定)または前回 SET IMAGE コマンドで現在のイメージとして設定されたイメージのどちらかになります。


形式

SHOW SYMBOL symbol-name[,...] [IN scope[,...]]


パラメータ

symbol-name

表示するシンボルを指定します。有効なシンボル名は単一の識別子または %LABELn という形式のラベル名です。ただし,n は整数です。RECORD.FIELD や ARRAY[1,2] などの複合名は有効ではありません。ワイルドカード文字のアスタリスク(*)をそれだけで指定すると,すべてのシンボルがリストされます。シンボル名の中にはワイルドカードを使用できます。

scope

モジュール,ルーチンまたはレキシカル・ブロックの名前,あるいは数値有効範囲を指定します。このパラメータは SET SCOPE コマンドの有効範囲指定と同じ構文を持ち,パス名修飾子を含むことができます。指定する有効範囲はすべて現在のイメージ内の設定されたモジュールになければなりません。

SHOW SYMBOL コマンドは指定された名前に一致し,しかも scope パラメータで指定されたレキシカル要素の中で宣言されている現在のイメージの RST にあるシンボルだけを表示します。このパラメータを省略すると,symbol-name パラメータで指定された名前に一致するシンボルを検索するために,現在のイメージに対して設定されているすべてのモジュールとグローバル・シンボル・テーブル(GST)が検索されます。


修飾子

/ADDRESS

選択されたそれぞれのシンボルに対するアドレス指定を表示します。アドレス指定はシンボルのアドレスを求める方法です。アドレス指定は単にシンボルのメモリ・アドレスにすることもできますが,間接参照やレジスタ値からのオフセットをいれることもできます。シンボルの中には,複雑すぎて,わかりやすく表示できないアドレス指定を持つものもあります。このようなアドレス指定には "complex address specifications" というラベルが付きます。

Alpha プロセッサでは,SHOW SYMBOL/ADDRESS procedure-name コマンドは指定されたルーチン,エントリ・ポイントまたは Ada パッケージのコード・アドレスとプロシージャ・ディスクリプタ・アドレスの両方を表示します。

/DEFINED

DEFINE コマンドで定義したシンボル(DEFINE シンボル・テーブルにあるシンボル定義)を表示します。

/DIRECT

scopeパラメータで直接宣言されるシンボルだけを表示します。scope パラメータで指定された有効範囲内でネストされたレキシカル要素で宣言されたシンボルは示されません。

/FULL

/ADDRESS,/TYPE,/USE_CLAUSE 修飾子に関連するすべての情報を表示します。

C++ モジュールの場合,symbol-name がクラスの場合は,SHOW SYMBOL/FULL はそのクラスに関する情報も表示します。

/LOCAL

scope パラメータで直接宣言されるシンボルだけを表示します。scope パラメータで指定された有効範囲内でネストされたレキシカル要素で宣言されたシンボルは示されません。

/TYPE

選択された各シンボルについてデータ型情報を表示します。

/USE_CLAUSE

(Ada プログラムに適用される。)指定のブロック,サブプログラムまたはパッケージが USE 句で名前を付ける Ada パッケージを示します。指定されたシンボルがパッケージである場合には,指定したシンボルに USE 句で名前を付けるブロック,サブプログラム,パッケージなども示します。

説明

SHOW SYMBOL コマンドはデバッガが現在のイメージ内の指定のシンボルに関して持っている情報を表示します。この情報はコンパイラが持っていた情報や,ソース・コードで確認できる情報と同じことがあります。それでも,このコマンドは,シンボルを処理するときにデバッガが取る動作の理由を理解するために役立ちます。

修飾子を指定しないと,SHOW SYMBOL コマンドは現在のイメージに対する RST に存在する(つまり,現在のイメージに対して設定されているすべてのモジュールと GST にある),指定されたシンボルの宣言または定義のすべてをリストします。シンボルはそのパス名といっしょに表示されます。パス名はデバッガがシンボルの特定の宣言に達するためにたどらなければならない検索有効範囲(モジュール,ネストされたルーチン,ブロックなど)を識別します。デバッガ・コマンドでシンボリック・アドレス式を指定するときは,シンボルが 2 回以上定義されていて,デバッガがあいまいさを解消できない場合にだけパス名を使用します。

/DEFINED 修飾子と /LOCAL 修飾子は(プログラムから派生するシンボルではなく)DEFINE コマンドで定義されたシンボルに関する情報を表示します。他の修飾子はプログラム内で宣言されたシンボルに関する情報を表示します。

Ada プログラムに特有の情報については,「Ada」ヘルプ・トピックを参照してください。

関連コマンド

DEFINE
DELETE
SET MODE [NO]LINE
SET MODE [NO]SYMBOLIC
SHOW DEFINE
SYMBOLIZE

#1

DBG> SHOW SYMBOL I
data FORARRAY\I
DBG>

このコマンドはシンボル I が FORARRAY モジュールに定義されていて,ルーチンではなく変数(データ)であることを示します。

#2

DBG> SHOW SYMBOL/ADDRESS INTARRAY1
data FORARRAY\INTARRAY1 
     descriptor address: 0009DE8B
DBG>

このコマンドはシンボル INTARRAY1 が FORARRAY モジュールに定義されていて,メモリ・アドレスが 0009DE8B であることを示します。

#3

DBG> SHOW SYMBOL *PL*

このコマンドは名前に "PL" という文字列が含まれているシンボルをすべてリストします。

#4

DBG> SHOW SYMBOL/TYPE COLOR
data SCALARS\MAIN\COLOR 
    enumeration type(primary, 3 elements), size: 4 bytes

このコマンドは変数 COLOR が列挙型であることを示します。

#5

DBG> SHOW SYMBOL/TYPE/ADDRESS *

このコマンドはすべてのシンボルに関するすべての情報を表示します。

#6

DBG> SHOW SYMBOL * IN MOD3\COUNTER
    routine MOD3\COUNTER 
    data MOD3\COUNTER\X 
    data MOD3\COUNTER\Y
DBG>

このコマンドはパス名 MOD3\COUNTER で示される有効範囲で定義されているすべてのシンボルをリストします。

#7

DBG> DEFINE/COMMAND SB=SET BREAK
DBG> SHOW SYMBOL/DEFINED SB
defined SB
    bound to: SET BREAK
    was defined /command
DBG>

この例では,DEFINE/COMMAND コマンドは SET BREAK コマンドのシンボルとして SB を定義します。SHOW SYMBOL/DEFINED コマンドはその定義を表示します。


SHOW TASK|THREAD

タスキング・プログラム(マルチスレッド・プログラムとも呼ばれる)のタスクに関する情報を表示します。

形式

SHOW THREAD [task-spec[,...]]


パラメータ

task-spec

タスク値を指定します。次のいずれかの形式で指定します。

ワイルドカード文字のアスタリスク(*)は使用できません。代わりに /ALL 修飾子を使用してください。/ALL,/STATISTICS または /TIME_SLICE を指定する場合,タスクは指定できません。


前へ 次へ 目次 索引