前へ | 次へ | 目次 | 索引 |
SET SCOPE/CURRENT コマンドを使用すると,現在呼び出しスタック上にあるルーチンの命令を表示できます。たとえば,次のコマンドはディスプレイ INST を更新し,現在実行が一時停止しているルーチンの呼び出し元の命令をディスプレイINSTに表示します。
DBG> SET SCOPE/CURRENT 1 |
命令を表示するための省略時の有効範囲を再設定するには,CANCEL SCOPE コマンドを入力します。このコマンドを入力すると,実行が一時停止されている呼び出しスタック最上部にあるルーチンの命令が表示されます。
7.4.5 定義済みレジスタ・ディスプレイ(REG,IREG,FREG)
VAX プロセッサでは,定義済みディスプレイ REG と IREG には,次の情報が格納されます。
R0〜R11
AP(R12)
FP(R13)
SP(R14)
PC(R15)
プロセッサ・ステータス・ロングワード(PSL)の条件コード・ビット(C,V,Z,N)
ウィンドウに表示できる数の呼び出しスタックの値
REG ディスプレイと IREG ディスプレイには,ベクタ・レジスタは表示されません。ベクタ・レジスタまたはベクタ制御レジスタのデータを画面モードで表示するには,DO ディスプレイを使用します(第 7.2.1 項 を参照)。
定義済み REG ディスプレイの例として 図 7-4 を参照してください。
図 7-4 画面モード・レジスタ・ディスプレイ
Alpha プロセッサでは,定義済みディスプレイ表示 REG には,次の情報が格納されます。
汎用レジスタ R0〜R28
FP(R29)
SP(R30)
R31
PC
PS
浮動小数点レジスタ F0〜F31
FPCR
SFPCR
ウィンドウに表示できる数の呼び出しスタックの値
Alpha プロセッサでは,定義済みディスプレイ IREG には,16 進形式で次の情報が格納されます。
汎用レジスタ R0〜R28
FP(R29)
SP(R30)
R31
PC
PS
ウィンドウに表示できる数の呼び出しスタックの値
VAX システムでは,定義済みディスプレイ IREG には,定義済みディスプレイ REG と同じ情報が格納されます。 |
Alpha プロセッサでは,定義済みディスプレイ FREG には,次の情報が格納されます。
浮動小数点レジスタ F0〜F31,浮動小数点形式で表示
FPCR
SFPCR
ウィンドウに表示できる数の呼び出しスタックの値,16 進形式で表示
表示されるレジスタ値は,現在実行が一時停止しているルーチンに関するものです。これらの値はデバッガが制御を受け取るたびに更新されます。変更された値は強調表示されます。
REG,IREG,FREG(Alpha のみ)は,最初はディスプレイ・ペーストボードから削除されるものとしてマークされているため,表示されません。REG ディスプレイ,IREG ディスプレイ,FREG ディスプレイを表示するには,DISPLAY コマンドを使用しなければなりません。また,PF1 KP7 を押して REG ディスプレイを表示することもできます。PF1 KP7 を押すと,INST ディスプレイの横に REG を表示できます。
レジスタ・ウィンドウを大きくした場合,デバッガは残りのスペースをユーザの呼び出しスタックに入っている情報で埋めます。
7.4.5.1 呼び出しスタック上にあるルーチンのレジスタ値の表示
SET SCOPE/CURRENT コマンドを使用すると,現在呼び出しスタック上にあるルーチンに対応したレジスタ値を表示できます。たとえば,次のコマンドはディスプレイ REG を更新し,現在実行が一時停止しているルーチンの呼び出し元のレジスタ値をディスプレイ REG に表示します。
DBG> SET SCOPE/CURRENT 1 |
レジスタ値を表示するための省略時の有効範囲を再設定するには,CANCEL SCOPE コマンドを入力します。このコマンドを入力すると,実行が一時停止している呼び出しスタック最上部のルーチンのレジスタ値がディスプレイ REG に表示されます。
7.5 既存のディスプレイの操作
この節では,次の機能の実行方法を説明します。
第 7.7 節 および 第 7.2 節 でも既存のディスプレイを DISPLAY コマンドによって変更するための方法(ディスプレイ・ウィンドウおよび表示される情報の種類を変更する方法)を詳しく説明しています。
7.5.1 ディスプレイのスクロール
通常,ディスプレイはウィンドウを通して見ることができる以上の行数あるいは,ウィンドウより長い行のテキストを持っています。SCROLL コマンドを使用すると,ウィンドウの境界を越えて隠れているテキストを見ることができます。PROMPT ディスプレイを除くすべてのディスプレイでスクロールが可能です。
ディスプレイをスクロールさせる最も簡単な方法は,この節の後半で述べるようなキーパッド・キーを使用した方法です。最初に関連コマンドの使用法を説明します。
SCROLL コマンドではディスプレイを明示的に指定できます。しかし,通常はまず現在のスクロール・ディスプレイを選択するために SELECT/SCROLL コマンドを使用します。この結果,そのディスプレイは scroll 属性を持ち,SCROLL コマンドの省略時のディスプレイとなります。その後,そのディスプレイを指定した行数だけ上下に,あるいは指定した桁数だけ左右にスクロールさせるために,SCROLL コマンドをパラメータなしで使用します。スクロールする方向と距離はコマンド修飾子(/UP:n, /RIGHT:nなど)で指定します。
次の例では,SELECT コマンドでディスプレイ OUT を現在のスクロール・ディスプレイとして選択してから(/SCROLL は省略時の修飾子なので省略可能),SCROLL コマンドによって下 18 行のテキストが表示されるように OUT をスクロールさせています。
DBG> SELECT OUT DBG> SCROLL/DOWN:18 |
いくつかの便利な SELECT コマンド行と SCROLL コマンド行が次のようにキーパッド・キーに割り当てられています。キーパッド図については,付録 A を参照してください。
DISPLAY コマンドは,ディスプレイを作成および操作するための最も用途の広いコマンドです。このコマンドを最も単純な形式で使用した場合,既存のディスプレイの 1 つがペーストボードの最上部に置かれ,そのディスプレイの現在のウィンドウを通して表示されます。たとえば,次のコマンドはディスプレイINSTをその現在のウィンドウを通して表示します。
DBG> DISPLAY INST |
DISPLAY %NEXTDISP コマンドにバインドされている KP9 を押すと,同じことが簡単に行えます。組み込み関数 %NEXTDISP はディスプレイ・リスト内の次のディスプレイを表します。付録 B に,画面に関連したすべての組み込み関数が示されています。KP9 を押すたびに,リスト内の次のディスプレイがペーストボード最上部に置かれ,その現在のウィンドウ内に表示されます。
省略時の設定では,ディスプレイ OUT の最上行(そのディスプレイを示す)はディスプレイ SRC の最下行に一致します。SRC がペーストボード最上部にある場合,その最下行は OUT の最上行を隠します。各種のディスプレイをペーストボード最上部に置くために DISPLAY コマンドとそれに対応するキーパッド・キーを使用する場合は,このことに注意してください。
ペーストボードの最下部にあるディスプレイを表示しないためには,DISPLAY/HIDE コマンドを使用します。このコマンドはディスプレイ・リスト内でのそのディスプレイの順番を変更します。
ペーストボードからディスプレイを除去して見えなくするには(ただし,永久に削除されるわけではない),DISPLAY/REMOVE コマンドを使用します。除去したディスプレイをペーストボード上に戻すには,DISPLAY コマンドを使用します。
永久にディスプレイを削除するには,CANCEL DISPLAY コマンドを使用します。ディスプレイを再作成するには, 第 7.6 節 で説明するとおり,DISPLAY コマンドを使用します。
PROMPT ディスプレイは表示しなかったり,除去したり,削除したりできないので注意してください。
現在存在しているディスプレイを見るには,SHOW DISPLAY コマンドを使用します。ディスプレイはディスプレイ・リスト上の順序に従ってリストされます。ペーストボードの最上部にあるディスプレイは最後にリストされます。
DISPLAY オプションについての詳しい説明は,オンライン・ヘルプの DISPLAY コマンドの説明を参照してください。また,DISPLAY コマンドでは既存のディスプレイのその他の特性(ディスプレイ・ウィンドウと表示される情報の種類)を変更できるオプション・パラメータが使用できることを覚えておいてください。これらの方法については,第 7.7 節 および 第 7.2 節 を参照してください。
7.5.3 ディスプレイの画面内移動
画面内でディスプレイを移動するには,MOVEコマンドを使用します。修飾子 /UP:n, /DOWN:n, /RIGHT:n,および /LEFT:n は,ディスプレイを移動する方向と行数または桁数を指定します。ディスプレイを指定しなかった場合には現在のスクロール・ディスプレイが移動します。
ディスプレイを移動する最も簡単な方法は,次のようなキーパッド・キーを使用した方法です。
ディスプレイを拡大または縮小するには EXPAND コマンドを使用します。修飾子 /UP:n, /DOWN:n, /RIGHT:n,および /LEFT:n は,ディスプレイを拡大または縮小する方向と行数または桁数を指定します。ディスプレイを縮小するには,これらの修飾子に負の整数値を指定します。ディスプレイを指定しなかった場合には現在のスクロール・ディスプレイが拡大または縮小されます。
ディスプレイを拡大または縮小する最も簡単な方法は,次のようなキーパッド・キーを使用した方法です。
PROMPT ディスプレイは水平方向には縮小,拡大できません。また,垂直方向の場合,2行より少ない行数に縮小することはできません。
7.6 新しいディスプレイの作成
新しい画面ディスプレイを作成するには,DISPLAY コマンドを使用します。基本的な構文は次のとおりです。
DISPLAY display-name [AT window-spec] [display-kind] |
ディスプレイ名は,すでに何かのディスプレイに付けてある名前以外であればどんな名前でもかまいません。既存のすべてのディスプレイを表示するには SHOW DISPLAY コマンドを使用します。新しいディスプレイを作成すると,そのディスプレイはペーストボードの最上部で,既存のディスプレイ(非表示にはできない定義済み PROMPT ディスプレイは除く)の最上部に置かれます。ディスプレイ名はディスプレイ・ウィンドウの左上隅にディスプレイされます。
第 7.7 節 では,ウィンドウを指定するためのオプションを説明します。ウィンドウ指定を提供しなかった場合,そのディスプレイは画面の上半分または下半分に配置されます。この位置は新しいディスプレイを作成するたびに交互に変わります。
第 7.2 節 では,ディスプレイ対象を指定するためのオプションを説明します。ディスプレイ対象を指定しなかった場合は出力ディスプレイが作成されます。
たとえば,次のコマンドは OUT2 という名前の新しい出力ディスプレイを作成します。OUT2 に対応するウィンドウは画面の上半分または下半分となります。
DBG> DISPLAY OUT2 |
次のコマンドは EXAM_XY という名前の新しい DO ディスプレイを作成し,画面右の 3 番目の 4 分の 1(RQ3)に置きます。このディスプレイは変数Xと変数Yの現在の値を示し,デバッガがプログラムから制御を受け取るたびに更新されます。
DBG> DISPLAY EXAM_XY AT RQ3 DO(EXAMINE X,Y) |
詳しい説明については,DISPLAY コマンドの説明を参照してください。
7.7 ディスプレイ・ウィンドウの指定
ディスプレイ・ウィンドウは画面の任意の長方形部分を占めることができます。
ディスプレイ・ウィンドウは,DISPLAY コマンドでディスプレイを作成するときに指定できます。また,DISPLAY コマンドで新しいウィンドウを指定することによって,ディスプレイに現在対応するウィンドウを変更することもできます。ウィンドウを指定する場合,次のオプションがあります。
これらの各方法については次の各項で説明します。ウィンドウを指定する場合,PROMPT ディスプレイが常にディスプレイ・ペーストボードの最上部に残り,したがって同じ画面領域を共有する別のディスプレイは一部が隠されることに注意してください。
ディスプレイ・ウィンドウは,指定した方法に関係なく動的なものです。したがって,SET TERMINAL コマンドを使用して画面の高さまたは幅を変更した場合,ディスプレイに対応したウィンドウは新しい画面の高さまたは幅に比例して拡大または縮小されます。
7.7.1 行数と桁数によるウィンドウの指定
ウィンドウ指定の一般的な形式は,(start-line,line-count[,start-column,column-count])です。たとえば,次のコマンドは出力ディスプレイCALLSを作成し,そのウィンドウは高さが7行で 10 行目から始まり,幅が 30 桁で 50 桁目から始まることを指定します。
DBG> DISPLAY CALLS AT(10,7,50,30) |
start-columnもcolumn-count も指定しなかった場合,ウィンドウは画面いっぱいの幅になります。
7.7.2 定義済みウィンドウの使用
デバッガは多数の定義済みウィンドウを備えています。これらのウィンドウには,行数と桁数を指定しなくても DISPLAY コマンドで使用できる短いシンボリック名が付いています。たとえば,次のコマンドは出力ディスプレイ ZIP を作成し,そのウィンドウを RH1(画面の右上半分)とすることを指定します。
DBG> DISPLAY ZIP AT RH1 |
SHOW WINDOW コマンドは,ユーザが SET WINDOW コマンドで作成したウィンドウ定義だけでなく,すべての定義済みウィンドウ定義も表示します。
7.7.3 新しいウィンドウ定義の作成
ほとんどの場合,定義済みウィンドウだけでも十分ですが,SET WINDOW コマンドで新しいウィンドウ定義を作成することもできます。このコマンドは次の構文をとり,ウィンドウ名とウィンドウ指定とを対応づけます。
SET WINDOW window-name AT(start-line,line-count[, start-column,column-count]) |
ウィンドウ定義の作成後は,DISPLAY コマンドの中に定義済みウィンドウと同様にその名前を使用するだけです。次の例ではウィンドウ定義 MIDDLE が設定されます。その後,この定義を使用してディスプレイ OUT をウィンドウ MIDDLE を通して表示します。
DBG> SET WINDOW MIDDLE AT(9,4,30,20) DBG> DISPLAY OUT AT MIDDLE |
現在のすべてのウィンドウ定義を表示するには,SHOW WINDOW コマンドを使用します。ウィンドウ定義を削除するには,CANCEL WINDOW コマンドを使用します。
前へ | 次へ | 目次 | 索引 |