前へ | 次へ | 目次 | 索引 |
ディスプレイ属性,つまりエラー,入力,命令,出力,プログラム,プロンプト,スクロール,ソースのそれぞれに対して現在選択されているディスプレイを示します。
注意
このコマンドは,デバッガへの Compaq 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 コマンドは,条件ハンドラ,保存されたレジスタ値,引数リストなどの情報があれば表示します。引数リストはその呼び出しを使用してサブルーチンに引き渡される引数のリストです。場合によっては,引数リストに実際の引数のアドレスを入れられます。そのような場合,それらの引数の値を表示するには,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)の回復後のエピローグ部分は,それぞれ空フレームのように見えるため,空フレームと報告されます。
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 コマンドはデバッガが次の処置を取ることを示します。
- 呼び出し先ルーチン内の命令はステップ実行するが,システム空間内や共用可能イメージ内の命令はステップ実行しない。
- 命令単位でステップ実行する。
- ステップ実行中はソース・コードの行を表示しない。
現在のイメージに対してデバッガの実行時シンボル・テーブル(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 THREAD [task-spec[,...]]
task-spec
タスク値を指定します。次のいずれかの形式で指定します。
- イベント・ファシリティが THREADS である場合。
- プログラムで宣言されているタスク(スレッド)名,または結果がタスク ID 番号となる言語式。
- 2 などのタスク ID 番号(SHOW THREAD コマンドの実行で表示される)
- イベント・ファシリティが ADA である場合。
- プログラムで宣言されているタスク(スレッド)名,または結果がタスク値となる言語式。パス名も使用できます。
- 2 などのタスク ID(SHOW THREAD コマンドの実行で表示される)
- 次のタスク組み込みシンボルのうちの 1 つ。
%ACTIVE_TASK GO,STEP,CALL または EXIT コマンドの実行時に実行されるタスク。 %CALLER_TASK Ada プログラムにのみ適用される。accept 文の実行時に,その accept 文に対応するエントリが呼び出したタスク。 %NEXT_TASK デバッガのタスク・リスト中の可視タスクの次のタスク。タスクの順番は自由に決められますが,その順番は 1 回のプログラム実行の中で不変です。 %PREVIOUS_TASK デバッガのタスク・リスト中の可視タスクの前のタスク。 %VISIBLE_TASK シンボル,レジスタ値,ルーチン呼び出し,ブレークポイントなどの検索時に現在のコンテキストになっている呼び出しスタックとレジスタ・セットを持つタスク。
ワイルドカード文字のアスタリスク(*)は使用できません。代わりに /ALL 修飾子を使用してください。/ALL,/STATISTICS または /TIME_SLICE を指定する場合,タスクは指定できません。
前へ | 次へ | 目次 | 索引 |