日本-日本語
日本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
デバッガ説明書


目次 索引



通常,ディスプレイはウィンドウを通して見ることができる以上の行数あるいは,ウィンドウより長い行のテキストを持っています。 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 を参照してください。

  • KP3 を押すと,ディスプレイ・リスト内で現在のスクロール・ディスプレイの後ろにある次のディスプレイへ scroll 属性が割り当てられる。あるディスプレイを現在のスクロール・ディスプレイとして選択したい場合は,そのディスプレイの最上行に "scroll" という語が現れるまでKP3を繰り返し押す。

  • 上下左右へスクロールさせるには,それぞれ KP8, KP2, KP6,KP4 を押す。スクロールする量は使用しているキー状態 (DEFAULT, GOLD,または BLUE) によって決まる。



7.5.2 ディスプレイの表示,非表示,除去,取り消し

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 は,ディスプレイを移動する方向と行数または桁数を指定します。ディスプレイを指定しなかった場合には現在のスクロール・ディスプレイが移動します。

ディスプレイを移動する最も簡単な方法は,次のようなキーパッド・キーを使用した方法です。

  • 現在のスクロール・ディスプレイを選択するため,KP3 を必要なだけ繰り返し押す。

  • キーパッドをMOVE状態にして,ディスプレイを上下左右に移動するためにそれぞれ KP8, KP2,KP4, KP6 を押す。 付録 A を参照。



7.5.4 ディスプレイの拡大または縮小

ディスプレイを拡大または縮小するには EXPAND コマンドを使用します。修飾子 /UP:n, /DOWN:n, /RIGHT:n,および /LEFT:n は,ディスプレイを拡大または縮小する方向と行数または桁数を指定します。ディスプレイを縮小するには,これらの修飾子に負の整数値を指定します。ディスプレイを指定しなかった場合には現在のスクロール・ディスプレイが拡大または縮小されます。

ディスプレイを拡大または縮小する最も簡単な方法は,次のようなキーパッド・キーを使用した方法です。

  • 現在のスクロール・ディスプレイを選択するため,KP3 を必要なだけ繰り返し押す。

  • キーパッドを EXPAND 状態または CONTRACT 状態にしてから,ディスプレイを垂直方向または水平方向に拡大または縮小するために KP8, KP2, KP4,または KP6 を押す。 付録 A を参照。

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 コマンドで新しいウィンドウを指定することによって,ディスプレイに現在対応するウィンドウを変更することもできます。ウィンドウを指定する場合,次のオプションがあります。

  • 行数と桁数によってウィンドウを指定する。

  • 定義済みウィンドウの名前,たとえばH1などを使用する。

  • 前もってSET WINDOWコマンドで設定したウィンドウ定義の名前を使用する。

これらの各方法については次の各項で説明します。ウィンドウを指定する場合,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-columncolumn-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 コマンドを使用します。

7.8 ディスプレイ構成のサンプル

画面モードの使用法は,ユーザ個人のニーズや見つけたいエラーの種類によって異なります。定義済みのディスプレイを使用するだけで十分な場合もあります。大きな画面へアクセスできるときには,追加の表示をさまざまな用途に作成したい場合があります。次の例をそのような場合の参考にしてください。

高級言語でデバッグを行っているときに,複数のルーチン呼び出しを通してプログラムの実行をトレースしたいと想定します。

まず,省略時の画面構成,つまり H1 に SRC,S45 に OUT,S6 に PROMPT を設定します。キーパッド・キー・シーケンス PF4 MINUS でこの構成が得られます。SRC には実行が一時停止しているモジュールのソース・コードが表示されます。

次のコマンドは,有効範囲 1 での PC 値 ( 実行が一時停止しているルーチンの呼び出しでの,呼び出しスタックの 1 レベル下 ) を示す SRC2 という名前のソース・ディスプレイを RH1 に作成します。

DBG> DISPLAY SRC2 AT RH1 SOURCE (EXAMINE/SOURCE .1\%PC)

この結果,画面の左半分には現在実行中のルーチンが表示され,右半分にはそのルーチンを呼び出し元が表示されます。

次のコマンドは,デバッガがプログラムから制御を受け取るたびに SHOW CALLS コマンドを実行する CALLS という名前の DO ディスプレイを S4 に作成します。

DBG> DISPLAY CALLS AT S4 DO (SHOW CALLS)

これによって OUT の上半分が CALLS で隠されるので,次のように OUT のウィンドウを小さくします。

DBG> DISPLAY OUT AT S5

同様なディスプレイ構成は,ソース・ディスプレイでなく機械語命令ディスプレイでも作成できます。

7.9 ディスプレイと画面状態の保存

SAVE コマンドを使用すると,既存のディスプレイのスナップショットを作成してそのコピーを新しいディスプレイとして保存することができます。これは,たとえば自動的に更新されるディスプレイ (DO ディスプレイなど ) の現在の内容をあとで参照したい場合などに便利です。

次の例では,SAVE コマンドでディスプレイ CALLS の現在の内容をディスプレイ CALLS4 の中へ保存します。ディスプレイ CALLS4 は,このコマンドで作成されます。

DBG> SAVE CALLS AS CALLS4

新しいディスプレイはペーストボードから除去されます。その内容を表示するには DISPLAY コマンドを使用します。

DBG> DISPLAY CALLS4

EXTRACT コマンドには2つの用途があります。1 つはディスプレイの内容をテキスト・ファイルに保存することです。たとえば,次のコマンドはディスプレイ CALLS の内容を抽出し,そのテキストをファイル COB34.TXT へ追加します。

DBG> EXTRACT/APPEND CALLS COB34

もう 1 つの用途は,EXTRACT/SCREEN_LAYOUT コマンドを使用してコマンド・プロシージャを作成し,それをあとのデバッグ・セッションで実行して前の画面状態を再作成することです。次の例では,EXTRACT/SCREEN_LAYOUT コマンドで省略時の指定 SYS$DISK:[]DBGSCREEN.COM を持つコマンド・プロシージャを作成します。このファイルには,現在の画面の状態を再作成するために必要なすべてのコマンドが含まれています。

DBG> EXTRACT/SCREEN_LAYOUT
   .
   .
   .
DBG> @DBGSCREEN

PROMPT ディスプレイは,他のディスプレイのように保存したりファイルの中へ抽出したりすることはできないので注意してください。

7.10 画面の高さと幅の変更

デバッグ・セッションの間,端末画面の高さまたは幅を変更することができます。80 桁を表示した場合には折り返されてしまうような長い行を画面に収めたい場合や,ワークステーションでデバッガ・ウィンドウを他のウィンドウとの関係で再編集したい場合などです。

画面の高さまたは幅を変更するには,SET TERMINALコマンドを使用します。このコマンドの一般的な効果は,VT シリーズの端末の場合でもワークステーションの場合でも同じです。

この例では,画面サイズが 80 桁 24 行の省略時の VT100 画面エミュレーション・モードでワークステーション・ウィンドウを使用して,デバッガをすでに起動し,画面モードで使用しているとします。この時点でより大きな画面を使用したい場合,次のコマンドを使用すれば画面の高さとデバッガ・ウィンドウの幅をそれぞれ 35 行と 110 桁に増やすことができます。

DBG> SET TERMINAL/PAGE:35/WIDTH:110

省略時の設定では,すべてのディスプレイが動的になっています。動的なディスプレイでは,SET TERMINALコマンドで画面の高さまたは幅を変更すると,ウィンドウの寸法が比例して調整されます。したがって,SET TERMINAL コマンドを使用した場合は各ディスプレイの相対的な位置が保持されます。DISPLAY コマンドで /[NO]DYNAMIC 修飾子を使用すると,ディスプレイを動的にするかしないかを制御できます。動的でないディスプレイの場合,SET TERMINAL コマンドの入力後にウィンドウ座標が変更されません。その後,ディスプレイを移動したりサイズ変更したりするために DISPLAY, MOVE, EXPAND の各コマンドや各種のキーパッド・キーの組み合わせが使用できます。

デバッガで使用している現在の端末の幅と高さを表示するには, SHOW TERMINAL コマンドを使用します。

デバッガの SET TERMINAL コマンドは,DCL レベルの端末画面サイズには影響を及ぼさないので注意してください。デバッガを終了した時点で,元の画面サイズに戻ります。


目次 索引

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