日本-日本語
日本HPホーム 製品 & サービス OpenVMS製品情報
≫  お問い合わせ


OpenVMS マニュアル


 

OpenVMS ドキュメント
ライブラリ

タイトルページ
目次
まえがき
第 1 部:デバッガ概要
第 1 章:デバッガ概要
第 2 部:コマンド・インタフェース
第 2 章:デバッガの起動
第 3 章:プログラム実行の制御とモニタ
第 4 章:プログラム・データの検査と操作
第 5 章:プログラム内シンボルへのアクセス制御
第 6 章:ソース・コードの表示の制御
第 7 章:画面モード
第 3 部:DECwindows インタフェース
第 8 章:DECwindows Motifインタフェースの概要
第 9 章:デバッグ・セッションの開始と終了
第 10 章:デバッガの使用方法
第 4 部:PC クライアント・インタフェース
第 11 章:デバッガの PC クライアント/サーバ・インタフェースの概要
第 5 部:高度なトピック
第 12 章:ヒープ・アナライザの使用
第 13 章:その他の便利な機能
第 14 章:特殊なデバッグ
第 15 章:マルチプロセス・プログラムのデバッグ
第 16 章:タスキング・プログラムのデバッグ
第 6 部:付録
付録 A :定義済みのキー機能
付録 B :組み込みシンボルと論理名
付録 C :各言語に対するデバッガ・サポートの要約
付録 D :EIGHTQUEENS.C
索引
PDF
OpenVMS ホーム

HP OpenVMS
デバッガ説明書


目次 索引



レジスタ・ディスプレイは自動的に更新されるディスプレイであり,プロセッサ・レジスタの現在の値が 16 進形式で表示され,また,表示できる数だけ呼び出しスタックの値も表示されます。

表示されるレジスタ値は,現在実行が中断されているルーチンの値です。デバッガに制御が渡されると,必ず値が更新されます。変更された値は強調表示されます。

事前定義のレジスタ・ディスプレイが,最大 3 個まであります。 REG ディスプレイ,IREG ディスプレイ,および FREG ディスプレイはが Alpha プロセッサ,および Itanium® プロセッサで事前定義されています。事前定義されているディスプレイの内容を, 表 7-1 に示します。

表 7-1 事前定義のレジスタ・ディスプレイ
ディスプレイ Alpha Intel® Itanium®
REG - R0 〜 R31
- PC
- PS
- F0 〜 F31
- FPCR
- SFPCR
- 呼び出しスタック値のトップ
- PC
- CFM
- R1 〜 R31
- R32 〜 R127 (使用されている分)
- F2 〜 F127
- スタック値のトップ
IREG - R0 〜 R31
- PC
- PS
- 呼び出しスタック値のトップ
データは,16 進形式で表示されます。
- PC
- CFM
- R1 〜 R31
- 呼び出しスタック値のトップ
データは,16 進形式で表示されます。
FREG - F0 〜 F31
- FPCR
- SFPCR
- 呼び出しスタック値のトップ
データは,浮動小数点形式で表示されます。
- F2 〜 F127
- スタック値のトップ
レジスタ・データは,データ値 (整数または浮動小数点) に合った形式で表示されます。スタック値は,浮動小数点形式で表示されます。

Alpha プロセッサでは,定義済みディスプレイ REG には,汎用レジスタ R0〜R28,FP (R29),SP (R30),R31,PC,PS,浮動小数点レジスタ F0〜F31,FPCR,SFPCR が 16 進形式で格納され,また,表示できる数だけ呼び出しスタックの値も格納されます。

Alpha プロセッサでは,定義済みディスプレイ IREG には,汎用レジスタ R0〜R28,FP,およびウィンドウに表示できる数だけ,呼び出しスタックの値が 16 進形式で格納されます。

Alpha プロセッサでは,定義済みディスプレイ FREG には,浮動小数点レジスタ F0〜F31,FPCR,SFPCR が浮動小数点形式で格納され,また,ウィンドウに表示できる数だけ,呼び出しスタックの値が 16 進形式で格納されます。

レジスタ・ディスプレイに割り当てられるメモリ・バッファの省略時のサイズは 64 行です。メモリ・バッファが満杯になると,最も古い行が破棄され,新しいテキストを格納するための空間が確保されます。バッファ・サイズを変更するには,DISPLAY/SIZE コマンドを使用します。

7.2.6 SOURCE ディスプレイ対象

ソース・ディスプレイは,あるモジュールのソース・コードが取得できる場合に,そのソース・コード内の TYPE コマンドまたは EXAMINE/SOURCE コマンドの出力を表示します。ソース行番号は左側の欄に表示されます。コマンドの出力であるソース行はディスプレイの中央に置かれ,左側の欄の矢印によって示されます。TYPE コマンドで行の範囲を指定した場合は,それらの行がディスプレイの中央に置かれますが,矢印は表示されません。

ソース・ディスプレイへ書き込みを行うには,前もって SELECT/SOURCE コマンドでそのディスプレイを現在のソース・ディスプレイとして選択しておかなければなりません。

次の例では,DISPLAY コマンドでソース・ディスプレイ SRC2 を Q2 に作成します。その後,SELECT/SOURCE コマンドで SRC2 を現在のソース・ディスプレイとして選択します。TYPE 34 コマンドを実行した時点で,ウィンドウ RH1 にはデバッグ中のモジュールの行 34 の前後にあるソース・コードが表示されます。矢印はディスプレイの中央に置かれた行 34 を指します。

DBG> DISPLAY SRC2 AT Q2 SOURCE
DBG> SELECT/SOURCE SRC2
DBG> TYPE 34

これ以後,TYPE コマンドまたは EXAMINE/SOURCE コマンドを実行するたびにディスプレイが更新されます。

ソース・ディスプレイのメモリ・バッファの省略時のサイズは 64 行です。ソース・ディスプレイのメモリ・バッファはページングされるため,ソース・モジュール全体またはルーチン全体で前後にスクロールします。バッファ・サイズを変更して性能を向上するには,DISPLAY/SIZE コマンドを使用します。

7.2.7 SOURCE (コマンド) ディスプレイ対象

これは,指定したコマンドの出力によって自動的に更新されるソース・ディスプレイです。そのコマンド(EXAMINE/SOURCEコマンドまたはTYPEコマンドでなければならない) は,デバッガがユーザ・プログラムから制御を受け取るたびに実行されます。

たとえば,次のコマンドはソース・ディスプレイSRC3をウィンドウRS45に作成します。デバッガが制御を受け取るたびに,組み込みコマンドEXAMINE/SOURCE .%SOURCE_SCOPE\%PCが実行され,ディスプレイが更新されます。

DBG> DISPLAY SRC3 AT RS45 SOURCE (EX/SOURCE .%SOURCE_SCOPE\%PC)

このコマンドは定義済みディスプレイSRCに似た機能を持つディスプレイを作成します。組み込みEXAMINE/SOURCEコマンドは現在の有効範囲内で現在のPC値に対するソース行を表示します( 第 7.4.1 項 を参照)。

自動的に更新されるソース・ディスプレイを現在のソース・ディスプレイとして選択してある場合,そのディスプレイはその組み込みコマンドによって更新されるほかに,会話形式のEXAMINE/SOURCEコマンドまたはTYPEコマンドによって単純なソース・ディスプレイのように更新されます。

ソース・ディスプレイのメモリ・バッフアの省略時のサイズは 64 行です。自動的に更新されるソース・ディスプレイのメモリ・バッファはページングされるため,ソース・モジュール全体またはルーチン全体で前後にスクロールできます。バッファ・サイズを変更して性能を向上するには,DISPLAY/SIZE コマンドを使用します。

7.2.8 PROGRAMディスプレイ対象

プログラム・ディスプレイには,デバッグされるプログラムの出力が格納されます。定義済み PROMPT ディスプレイはプログラム・ディスプレイに属し,この種類で使用できる唯一のディスプレイです。プログラム・ディスプレイとして新しいディスプレイを作成することはできません。

混乱を避けるため,PROMPTディスプレイにはいくつかの制限事項があります ( 第 7.4.3 項 を参照)。

7.3 ディスプレイ属性の割り当て

画面モードでは,ユーザが会話形式で入力したコマンドの出力は,その出力の種類および各種のディスプレイへ割り当てたディスプレイ属性に応じて各種のディスプレイに出力されます。たとえば,デバッガの診断メッセージはerror属性を持つディスプレイ(現在のエラー・ディスプレイ)へ出力されます。ディスプレイへ1つまたは複数の属性を割り当てることにより,異なる種類の情報を混合したり分離したりできます。

属性には次の名前が付いています。

error
input
instruction
output
program
prompt
scroll
source

ディスプレイに属性を割り当てた場合,その属性の名前がウィンドウ最上部の境界上に小文字でディスプレイ名の右側に表示されます。 scroll 属性はデバッガ出力に影響を及ぼすことはありませんが, SCROLL, MOVE, EXPAND の各コマンドの省略時のディスプレイを制御するために使用されます。

省略時の設定では,定義済みディスプレイに次のような属性が割り当てられます。

  • SRCはsource属性とscroll属性を持つ。

  • OUTはoutput属性を持つ。

  • PROMPTはprompt, program,およびerrorの各属性を持つ。

ディスプレイに属性を割り当てるには,属性と同じ名前の修飾子を指定した SELECT コマンドを使用します。次の例では,DISPLAY コマンドで出力ディスプレイ ZIP を作成します。その後,SELECT/OUTPUT コマンドで ZIP を現在の出力ディスプレイ (output 属性を持つディスプレイ ) として選択します。後者のコマンドを実行した後,"output" という語は定義済み出力ディスプレイ OUT の最上部境界から消え,ディスプレイ ZIP 上に現れます。また,それ以前に OUT へ出力されていたすべてのデバッガ・ディスプレイが ZIP へ出力されるようになります。

DBG> DISPLAY ZIP OUTPUT
DBG> SELECT/OUTPUT ZIP

特定の属性は,ある決まったディスプレイ対象にだけ割り当てることができます。次のリストは SELECT コマンドの各修飾子とその効果,およびその属性を割り当てることができるディスプレイ対象を示したものです。

SELECT
修飾子
ディスプレイ対象への適応 説明
/ERROR 出力
プロンプト
指定した表示を現在のエラー・ディスプレイとして選択する。これ以後のデバッガの診断メッセージは,すべてそのディスプレイへ出力される。指定するディスプレイは出力ディスプレイか PROMPT ディスプレイでなければならない。ディスプレイを指定しなかった場合は, PROMPT ディスプレイが現在のエラー・ディスプレイとして選択される。
/INPUT 出力 指定したディスプレイを現在の入力ディスプレイとして選択する。これ以後のデバッガ入力は,すべてそのディスプレイ内にエコーバックされる。指定するディスプレイは出力ディスプレイでなければならない。ディスプレイを指定しなかった場合は現在の入力ディスプレイが選択解除され,デバッガ入力はどのディスプレイにもエコーバックされなくなる。
/INSTRUCTION 命令 指定したディスプレイを現在の機械語命令ディスプレイとして選択する。これ以後の EXAMINE/INSTRUCTION コマンドの出力は,すべてそのディスプレイへ出力される。指定するディスプレイは機械語命令ディスプレイでなければならない。キーパッド・キー・シーケンス PF4 COMMA は,ディスプレイ・リスト内の次の機械語命令ディスプレイを現在の機械語命令ディスプレイとして選択する。ディスプレイを指定しなかった場合は現在の機械語命令ディスプレイが選択解除され,どのディスプレイも instruction 属性を持たなくなる。
/OUTPUT 出力
プロンプト
指定したディスプレイを現在の出力ディスプレイとして選択する。これ以後のデバッガ出力は,すべてそのディスプレイへ出力される。ただし,特定の種類の出力が別のディスプレイへ出力される場合 ( たとえば,現在のエラー・ディスプレイへ出力される診断メッセージなど ) は除く。指定するディスプレイは出力ディスプレイか PROMPT ディスプレイでなければならない。キーパッド・キー・シーケンス PF1 KP3 は,ディスプレイ・リスト内の次の出力ディスプレイを現在の出力ディスプレイとして選択する。ディスプレイを指定しなかった場合は, PRO MPT ディスプレイが現在の出力ディスプレイとして選択される。
/PROGRAM プロンプト 指定したディスプレイを現在のプログラム・ディスプレイとして選択する。これ以後のプログラム入出力 (I/O) は強制的にそのディスプレイで行われる。現在,PROM PT ディスプレイだけが指定できる。ディスプレイを指定しなかった場合は現在のプログラム・ディスプレイが選択解除され,プログラムの入出力がPROMPTディスプレイへ強制的に送られることはなくなる。
/PROMPT プロンプト 指定したディスプレイを現在のプロンプト・ディスプレイとして選択し,デバッガはそのディスプレイ内に入力用のプロンプトを表示する。現在,PROMPT ディスプレイだけが指定できる。 PROMPT ディスプレイを選択解除することはできない。
/SCROLL すべて 指定したディスプレイを現在のスクロール・ディスプレイとして選択する。そのディスプレイは,それ以後の SCROLL, MOVE, EXPAND の各コマンド用の省略時のディスプレイになる。ユーザはどのディスプレイでも指定できる。ただし,PROMPT ディスプレイはスクロールしない。SELECT コマンドで修飾子を指定しなかった場合は,この /SCROLL 修飾子が省略時の設定になる。キー KP3 は,ディスプレイ・リスト内で現在のスクロール・ディスプレイの後ろにある次のスクロール・ディスプレイを現在のスクロール・ディスプレイとして選択する。ディスプレイを指定しなかった場合は現在のスクロール・ディスプレイが選択解除され,どのディスプレイも scroll 属性を持たなくなる。
/SOURCE ソース 指定したディスプレイを現在のソース・ディスプレイとして選択する。それ以後のすべての TYPE コマンドまたは EXAMINE/SOURCE コマンドの出力は,そのディスプレイへ出力される。指定するディスプレイはソース・ディスプレイでなければならない。キーパッド・キー・シーケンス PF4 KP3 は,ディスプレイ・リスト内の次のソース・ディスプレイを現在のソース・ディスプレイとして選択する。ディスプレイを指定しなかった場合は現在のソース・ディスプレイが選択解除され,どのディスプレイも source 属性を持たなくなる。

上記の表に示した制限事項に従って,ディスプレイはいくつかの属性を持つことができます。前に述べた例では,ZIPは現在の出力ディスプレイとして選択されました。次の例では,ZIP をさらに現在の入力ディスプレイ,エラー・ディスプレイ,およびスクロール・ディスプレイとして選択します。これらのコマンドの実行後は,デバッガの入出力 (I/O) と診断は発生した順に正しく ZIP 内に記録され,ZIPが現在のスクロール・ディスプレイになります。

DBG> SELECT/INPUT/ERROR/SCROLL ZIP

ディスプレイ属性のそれぞれに対して現在選択されているディスプレイを示すには,SHOW SELECT コマンドを使用します。

SELECT コマンドに特定の修飾子を指定し,ディスプレイ名を指定しなかった場合は,通常,その属性の割り当てが解除されます ( その属性を持っていたディスプレイが選択解除されます )。その場合の正確な結果は,上記の表で説明したとおり属性によって異なります。

7.4 定義済みディスプレイ

デバッガは次の定義済みディスプレイを備えており,これらは各種のデータを取り込んで表示するために使用できます。

SRC (定義済みソース・ディスプレイ)
OUT (定義済み出力ディスプレイ)
PROMPT (定義済みプロンプト・ディスプレイ)
INST (定義済み機械語命令ディスプレイ)
REG (定義済みレジスタ・ディスプレイ)
FREG (定義済み浮動小数点レジスタ・ディスプレイ (Alpha のみ) )
IREG (定義済み整数レジスタ・ディスプレイ)

画面モードに入ると,デバッガは 図 7-1 に示したように SRC を画面の上半分に,PROMPT を画面下部の 6 分の 1 に,そして OUT を SRC と PROMPT の間に配置します。省略時の設定では,INST,REG,FREG (Alpha のみ ) および IREG のディスプレイは初期の画面から除去されています。

ディスプレイとウィンドウを並べ替えたあとに,この省略時の構成を再作成するには,キーパッドの BLUE MINUS を押します (PF4 のあとで MINUS(--) キーを押します )。

定義済みディスプレイの基本的な機能は次の各項で説明します。ユーザはこれらのディスプレイのバッファ・サイズやディスプレイ属性など,特定の特性を変更することができます。また,定義済みディスプレイに似た追加のディスプレイを作成することもできます。

ディスプレイの特性に関する要約情報を表示するには,SHOW DISPLAYコマンドを使用します。

表 7-2 は,定義済みディスプレイに関する重要な情報をまとめています。

表 7-2 定義済みディスプレイ
ディスプレイ名 ディスプレイ対象 有効なディスプレイ属性 起動時に表示されるかどうか
SRC ソース スクロール
ソース (省略時の設定)
X
OUT 出力 エラー
入力
出力 (省略時の設定)
スクロール
X
PROMPT 出力 エラー (省略時の設定)
出力
プログラム (省略時の設定)
プロンプト (省略時の設定)
スクロール 1
X
INST 命令 命令
スクロール
 
REG レジスタ スクロール  
FREG (Alpha のみ) レジスタ スクロール  
IREG レジスタ スクロール  

+VAX 専用
++Alpha 専用
1定義済み PROMPT ディスプレイはスクロールできない。


目次 索引

© 2012 Hewlett-Packard Development Company, L.P.