HP OpenVMS Systems Documentation |
| 前へ | 次へ | 目次 | 索引 |
画面ウィンドウ定義を作成します。
注意
このコマンドは,デバッガへの HP DECwindows Motif for OpenVMS ユーザ・インタフェースでは使用できません。
SET WINDOW window-name
AT (start-line,line-count
[,start-column,column-count])
window-name
定義するウィンドウの名前を指定します。その名前を持つウィンドウ定義がすでに存在するときには,古い定義は取り消され新しい定義が有効になります。start-line
ウィンドウの開始行番号を指定します。この行はウィンドウの表題またはヘッダ行を表示します。画面の最上行は行 1 です。line-count
ウィンドウのテキスト行の数を指定します。ヘッダ行は計算にいれません。この値の最小値は 1 です。start-line とline-countの合計は現在の画面の高さを超えてはなりません。start-column
ウィンドウの開始欄番号を指定します。これは,ウィンドウの最初の文字が表示される欄のことです。画面の最も左の欄は欄 1 です。column-count
ウィンドウの行当たりの文字数を指定します。最小値は 1 です。 start-column と column-countの合計が現在の画面幅を超えてはなりません。
画面ウィンドウは端末画面上の長方形の領域で,これを通して表示を見ることができます。SET WINDOW コマンドはウィンドウ名と画面領域とを関連づけることによってウィンドウ定義を設定します。画面領域は,開始行と高さ (行数) で定義しますが,オプションで開始欄と幅 (欄数) を指定します。開始欄と欄数を指定しないと,省略時の設定により欄 1 と現在の画面幅に設定されます。組み込みシンボル %PAGE と %WIDTH を使用した式でウィンドウ領域を指定することもできます。
SET WINDOW コマンドで定義したウィンドウの名前を DISPLAY コマンドで使用して画面上の表示位置を指定することもできます。
ウィンドウ定義は動的に行われます。すなわち,SET TERMINAL コマンドで端末の幅と高さを変更すると,それに比例してウィンドウのサイズも拡大または縮小します。
関連コマンド
DISPLAY
(SHOW,CANCEL) DISPLAY
(SET,SHOW) TERMINAL
(SHOW,CANCEL) WINDOW
| #1 |
|---|
DBG> SET WINDOW ONELINE AT (1,1) |
このコマンドは画面の最上部に ONELINE という名前のウィンドウを定義します。このウィンドウの高さは 1 行であり,幅は省略時の設定によって画面の幅に設定されます。
| #2 |
|---|
DBG> SET WINDOW MIDDLE AT (9,4,30,20) |
このコマンドは画面の中央に MIDDLE という名前のウィンドウを定義します。このウィンドウは行 9 から開始して 4 行の高さであり,欄 30 から開始して20 欄の幅に設定されます。
| #3 |
|---|
DBG> SET WINDOW FLEX AT (%PAGE/4,%PAGE/2,%WIDTH/4,%WIDTH/2) |
このコマンドは画面の中央を付近に FLEX という名前のウィンドウを定義します。このウィンドウは現在の画面の高さ (%PAGE) と幅 (%WIDTH) に定義されます。
デバッガ・コマンドの実行を強制終了するか,またはプログラムの実行に割り込みをかける機能として現在定義されている Ctrl キー・シーケンスを示します。
注意
このコマンドは,デバッガへの HP DECwindows Motif for OpenVMS ユーザ・インタフェースでは使用できません。
SHOW ABORT_KEY
省略時の設定では,デバッグ・セッション中に Ctrl/C を入力すると,デバッガ・コマンドの実行が強制終了され,プログラムの実行に割り込みがかかります。SET ABORT_KEY コマンドを使用して,この強制終了機能を他の Ctrl キー・シーケンスに割り当てることができます。SHOW ABORT_KEY コマンドは強制終了機能として現在有効になっている Ctrl キー・シーケンスを示します。関連コマンド
Ctrl/C
SET ABORT_KEY
DBG> SHOW ABORT_KEY Abort Command Key is CTRL_C DBG> SET ABORT_KEY = CTRL_P DBG> SHOW ABORT_KEY Abort Command Key is CTRL_P DBG> |
この例では,最初の SHOW ABORT_KEY コマンドは省略時の強制終了コマンドのキー・シーケンスである Ctrl/C を示します。 SET ABORT_KEY = CTRL_P コマンドは強制終了コマンド機能を Ctrl/P に割り当て,2 番目の SHOW ABORT_KEY コマンドがそれを確認します。
AST (asynchronous system traps) の実行要求が許可されているか,禁止されているかを示します。
SHOW AST
SHOW AST コマンドは AST の実行要求が許可されているか,禁止されているかを示します。このコマンドは実行要求が保留中になっている AST は示しません。AST の実行要求は省略時の設定は許可です。または,ENABLE AST コマンドを使用して許可します。 AST の実行要求を禁止するには DISABLE AST コマンドを使用します。関連コマンド
(ENABLE,DISABLE) AST
DBG> SHOW AST ASTs are enabled DBG> DISABLE AST DBG> SHOW AST ASTs are disabled DBG> |
SHOW AST コマンドは AST の実行要求が許可されているかどうかを示します。
SET ATSIGN コマンドで設定した省略時のファイル指定を示します。デバッガは @ ( 実行プロシージャ ) コマンドの処理中にこのファイル指定を使用します。
SHOW ATSIGN
関連コマンド@ (実行プロシージャ)
SET ATSIGN
| #1 |
|---|
DBG> SHOW ATSIGN No indirect command file default in effect, using DEBUG.COM DBG> |
この例は,SET ATSIGN コマンドを使用していなかった場合,デバッガがコマンド・プロシージャの省略時のファイル指定として SYS$DISK:[]DEBUG.COM を使用することを示します。
| #2 |
|---|
DBG> SET ATSIGN USER:[JONES.DEBUG].DBG DBG> SHOW ATSIGN Indirect command file default is USER:[JONES.DEBUG].DBG DBG> |
この例では,SHOW ATSIGN コマンドはコマンド・プロシージャの省略時のファイル指定を示しています。それは以前に SET ATSIGN コマンドで設定されたものです。
ブレークポイントに関する情報を表示します。
SHOW BREAK
/PREDEFINED
定義済みブレークポイントに関する情報を表示します。/USER
ユーザ定義ブレークポイントに関する情報を表示します。
SHOW BREAK コマンドは WHEN 句や DO 句,/AFTER の数などのオプションも含めて,現在設定されているブレークポイントに関する情報と,ブレークポイントが無効になっているかどうかを表示します。省略時の設定では,SHOW BREAK はユーザ定義ブレークポイントと定義済みブレークポイントの両方 ( ただし,存在する場合 ) に関する情報を表示します。これは SHOW BREAK/USER/PREDEFINED コマンドを入力した場合と同じです。ユーザ定義ブレークポイントは SET BREAK コマンドで設定されます。定義済みブレークポイントは,デバッガを起動すると自動的に設定され,デバッグの対象になっているプログラムの種類によって異なります。
SET BREAK/AFTER:n を使用してブレークポイントを設定した場合,SHOW BREAK コマンドは 10 進整数 n の現在の値,つまり最初に指定された整数値から,ブレークポイント記憶位置に到達するたびに 1 を引いた値を表示します ( デバッガは n の値が 0 になるまでブレークポイント記憶位置に到達するたびに n を減少させていきます。 0 になると,デバッガはブレーク動作を取ります)。
Alpha システムの場合,ブレークが命令の特定のクラスにあっても, SHOW BREAK コマンドは,個々の命令 (SET BREAK/CALL または SET BREAK/RETURN と同様 ) は表示しません。
関連コマンド
(ACTIVATE,CANCEL,DEACTIVATE,SET) BREAK
| #1 |
|---|
DBG> SHOW BREAK breakpoint at SUB1\LOOP breakpoint at MAIN\MAIN+1F do (EX SUB1\D ; EX/SYMBOLIC PSL; GO) breakpoint at routine SUB2\SUB2 /after: 2 DBG> |
SHOW BREAK コマンドは現在設定されているすべてのブレークポイントを示します。この例は,実行がそれぞれ SUB1\LOOP, MAIN\MAIN,SUB2\SUB2 に到達すると必ず検出されるユーザ定義ブレークポイントを示します。
| #2 |
|---|
DBG> SHOW BREAK/PREDEFINED predefined breakpoint on Ada event "DEPENDENTS_EXCEPTION" for any value predefined breakpoint on Ada event "EXCEPTION_TERMINATED" for any value DBG> |
このコマンドは現在設定されている定義済みブレークポイントを示します。この例では,2 つの定義済みブレークポイントが表示されていて,その 2 つは Ada タスキング例外イベントに対応しています。これらのブレークポイントはすべての Ada プログラムに対してと Ada モジュールにリンクされている混合言語プログラムに対して自動的にデバッガによって設定されます。
現在アクティブなルーチン呼び出しを示します。
SHOW CALLS [integer]
integer
表示するルーチンの数を指定する 10 進整数。このパラメータを省略すると,デバッガはデバッガ内に関係する情報があるすべてのルーチン呼び出しを示します。
/IMAGE
呼び出しスタック上の個々のアクティブな呼び出しのイメージ名を表示します。
SHOW CALLS コマンドは,実行が中断されたルーチンまでの,アクティブなルーチン呼び出しのシーケンスをリストするトレースバックを表示します。再帰的ルーチン呼び出しはすべて表示されるため, SHOW CALLS コマンドを使用して再帰呼び出しのチェインをチェックできます。SHOW CALLS は最新の呼び出しを先頭として,呼び出しスタック上の呼び出しフレーム 1 つにつき 1 行の情報を表示します。最上行は現在実行中のルーチンを示し,2 行目はその呼び出し元,3 行目は呼び出し元の呼び出し元を示すというようになります。
プログラムが最初に起動されるときにそのプログラム用のスタック・フレームが少なくとも 1 個作成されるため,プログラムでルーチン呼び出しを行っていない場合でも, SHOW CALLS コマンドはアクティブな呼び出しを表示します。
Alpha プロセッサと I64 プロセッサでは,通常,システム・フレームも表示され,場合によっては DCL ベース・フレームも表示されます。 SHOW CALLS がアクティブな呼び出しを表示しない場合,その原因はプログラムが終了しているか,呼び出しスタックが破損しているかのいずれかです。プログラムの実行時にルーチンへの呼び出しを行うと,スタックまたはレジスタ・セット上に新しい呼び出しフレームが作成されます。各呼び出しフレームには,呼び出し元のルーチンや現在のルーチンについての情報が格納されます。たとえば,フレームの PC 値によって, SHOW CALLS コマンドはモジュールとルーチンの情報をシンボル化することができます。
VAX プロセッサでは,ルーチン呼び出しのシーケンスは,メモリ・スタック上の呼び出しフレームのシーケンスに対応します。 Alpha プロセッサでは,ルーチン呼び出しは,スタック・フレーム・プロシージャ (メモリ・スタック上に呼び出しフレームが作成される),レジスタ・フレーム・プロシージャ (呼び出しフレームがレジスタ・セットに格納される),空フレーム・プロシージャ (呼び出しフレームがない) のいずれかになります。
I64 プロセッサでは,ルーチン呼び出しは,メモリ・スタック・フレームまたはレジスタ・スタック・フレームとなります。つまり,I64 には,レジスタとメモリの 2 つのスタックがあります。 I64 ルーチンを呼び出すと,これらのスタックのどちらか,またはその両方に呼び出しフレームが作成されます。また,I64 リーフ・ルーチンの呼び出し (それ自身は呼び出しを行わない) は,どちらのスタックにも呼び出しフレームが作成されない,空フレーム・プロシージャとなります。 SHOW CALLS は,どのスタック・フレーム (メモリまたはレジスタ) であっても,情報を 1 行出力します。 (下記の例を参照してください。)
SHOW CALLSが示す行ごとに次の情報が提供されます。
- 呼び出しを行っているモジュールの名前。モジュール名の左側にアスタリスク (*) が付いている場合,そのモジュールが設定されていることを表す。
- モジュールが設定されている場合,呼び出し元ルーチンの名前 (1 行目は現在実行中のルーチンを示す )。
- モジュールが設定されている場合,そのルーチンで呼び出しが行われた行番号 (1 行目は実行が中断される行番号を示す )。
- 制御が呼び出し先ルーチンに渡されたときの呼び出し元ルーチンでの PC の値。
VAX プロセッサでは,PC 値は直前のシンボル値 ( たとえばルーチン ) を基準としたメモリ・アドレスとして示され,さらに絶対アドレスとしても示されます。 Alpha プロセッサと I64 プロセッサでは,PC はモジュール内の先頭コード・アドレスを基準としたメモリ・アドレスとして示され,さらに絶対アドレスとしても示されます。
/IMAGE 修飾子を指定すると,デバッガはまずデバッグ情報を持っている各イメージ (/DEBUG または /TRACEBACK 修飾子を使ってリンクされたもの) に対して SET IMAGE コマンドを実行します。その後,デバッガは呼び出しスタック上の個々のアクティブな呼び出しについて,イメージ名を表示します。出力ディスプレイが拡大され,イメージ名が最初の欄に表示されるようになっています。
share$image_name モジュール名は /IMAGE 修飾子によって提供されるので,デバッガはこの情報は表示しません。
SET IMAGE コマンドは SHOW CALLS/IMAGE コマンドが有効な間のみ作用します。デバッガは SHOW CALLS/IMAGE コマンドが完了したときに,セット・イメージ状態を復元します。
Alpha プロセッサと I64 プロセッサでは, SHOW CALLS コマンドの出力には,プログラムに関連付けられたユーザ呼び出しフレームの他に,システム呼び出しフレームも含まれることがあります。システム呼び出しフレームが含まれるのは,次の場合です。
- 例外のディスパッチの場合
- 非同期システム・トラップのディスパッチの場合
- システム・サービスのディスパッチの場合
- システム空間でウォッチポイントがトリガされた場合
- システム (インストールされている常駐 RTL を含む) 空間をステップ実行した場合
- 呼び出しスタックがベース・フレームの場合
システム呼び出しフレームが表示されても,問題を示すわけではありません。
関連コマンド
SHOW SCOPE
SHOW STACK
| #1 |
|---|
DBG> SHOW CALLS module name routine name line rel PC abs PC SUB2 SUB2 00000002 0000085A *SUB1 SUB1 5 00000014 00000854 *MAIN MAIN 10 0000002C 0000082C DBG> |
このコマンドは,VAX システム上で現在アクティブなプロシージャ呼び出しのシーケンスに関する情報を表示しています。
| #2 |
|---|
DBG> SHOW CALLS
module name routine name line rel PC abs PC
*MAIN FFFF 31 00000000000002B8 00000000000203C4
-the above appears to be a null frame in the same scope as the frame below
*MAIN MAIN 13 00000000000000A8 00000000000200A8
0000000000000000 FFFFFFFF8255A1F8
|
これは,Alpha システムでの例です。ルーチンのプロローグおよびエピローグが空フレームとしてデバッガに表示されることに注意してください。フレーム・ポインタ (FP) が変更される前のプロローグの部分およびフレーム・ポインタ (FP) が回復された後のエピローグの部分は,それぞれ空フレームのように見えるため,空フレームと報告されます。
| #3 |
|---|
DBG> SHOW CALLS
module name routine name line rel PC abs PC
*MAIN FFFF 18 0000000000000190 0000000000010190
*MAIN MAIN 14 0000000000000180 0000000000010180
FFFFFFFF80C2A200 FFFFFFFF80C2A200
|
これは,I64 システムでの例です。 I64 プロローグは,デバッガからは空フレームとしては見えません。
| 前へ | 次へ | 目次 | 索引 |