OpenVMS デバッガでは,ワークステーション用に HP DECwindows Motif for OpenVMS グラフィカル・ユーザ・インタフェース (GUI) を使用できます。このインタフェースは画面モード・コマンド・インタフェースの拡張機能であり,マウスを使用してメニューから項目を選択したり,プッシュ・ボタンを有効または無効に設定したり,ポインタをドラッグしてウィンドウ内のテキストを選択できます。デバッガの HP DECwindows Motif for OpenVMS GUI メニューとプッシュ・ボタンを使用すると,基本的なほとんどのデバッグ作業を実行できます。
HP DECwindows Motif for OpenVMS GUI はキャラクタ・セル・コマンド・インタフェースの上に構築された GUI であり,コマンド行 にコマンド入力プロンプトが表示されます ( コマンド・ビュー )。 HP DECwindows Motif for OpenVMS GUI コマンド行から,次の目的でデバッガ・コマンドを入力できます。
- HP DECwindows Motif for OpenVMS ユーザ・インタフェースのメニューとプッシュ・ボタンで使用できる一部の操作を実行できる。
- HP DECwindows Motif for OpenVMS GUI メニューとプッシュ・ボタンでは使用できないデバッグ作業を実行するために入力できる。
他のデバッグ・コマンドを新しいプッシュ・ボタンや既存のプッシュ・ボタンに割り当てるために, HP DECwindows Motif for OpenVMS GUI をカスタマイズできます。
HP DECwindows Motif for OpenVMS GUI はローカル・モードまたはクライアント/サーバ・モードで実行することができます。クライアント/サーバ・モードでは,他の OpenVMS ノードからプログラムをリモートでデバッグできます。どちらの Motif モードのユーザ・インタフェースも,実質的に同じものです。インタフェースの起動方法については 第 9 章 で解説しています。
| 注意
HP DECwindows Motif for OpenVMS では,コマンド入力プロンプトに対する入力として HELP コマンドを認識しません。デバッガ・コマンドに関するオンライン・ヘルプが必要なときは,「Help」メニューで「On Commands」を選択してください。
コマンド行インタプリタ (CLI) なしで実行されるプリント・シンビオントなど,独立プロセスをデバッグするために HP DECwindows Motif for OpenVMS GUI を使用することはできません。 CLI のない独立プロセスのデバッグについては,
第 1.11 節 を参照してください。
|
8.1.1 便利な機能 |
|
デバッガの省略時の HP DECwindows Motif for OpenVMS インタフェースに用意されているいくつかの便利な機能について説明します。 第 8.2 節 では,図を使用して説明します。 ( デバッガのコマンド・インタフェースの便利な機能については, 第 1.1.2 項 を参照してください。)
◆ソース・コード・ディスプレイ
OpenVMS デバッガはソース・レベルのデバッガです。ソース・レベルのデバッガです。デバッガの
ソース・ビュー には,プログラムの実行が一時停止しているとき,その命令の前後のソース・コードが表示されます。コンパイラ生成行番号を表示するかしないかはユーザが選択できます。
ソース・ブラウザには,次の機能があります。
- プログラムのイメージ,モジュール,ルーチンのリスト
- 選択したモジュールまたはルーチンのソース・コードの表示
- 下位の階層にあるモジュールやルーチンの表示
- 選択したルーチンをダブルクリックすることによるブレークポイントの設定
◆呼び出しスタック間のナビゲーション
メイン・ウィンドウの「Call Stack」メニューには,現在呼び出しスタックに入れられているルーチン呼び出しが表示されます。「Call Stack」メニューでルーチン名をクリックすることにより, ( そのルーチンに対して ) 次の事項のコンテキスト ( 有効範囲 ) を設定します。
- (ソース・ビューの)ソース・コード・ディスプレイ
- (レジスタ・ビューの)レジスタ・ディスプレイ
- (命令ビューの)命令ディスプレイ
- シンボル検索
◆ブレークポイント
ブレークポイントを設定したり,オン・オフを切り替えたりするには,ソース・ビューまたは命令ビューの,ソース行の隣にあるボタンをクリックして選択します。ウィンドウのプルダウン・メニュー,ポップアップ・メニュー,コンテキスト依存のメニュー,ダイアログ・ボックスから項目を選択してブレークポイントを設定したり,オン・オフを切り替えたりすることもできます。また,条件付きブレークポイントを設定して,指定した条件が真になったときにプログラムの実行が停止するようにしたり,アクション・ブレークポイントを設定して,ブレークポイントでプログラムが停止するときに,1つまたは複数のデバッガ・コマンドを実行するようにしたりすることもできます。メイン・ウィンドウのボタン,命令ビューのプッシュ・ボタン,および
ブレークポイント・ビュー を見ると,ブレークポイントのオン・オフや条件付きブレークポイントが識別できるようになっています。
◆プッシュ・ボタン
プッシュ・ボタン・ビュー のプッシュ・ボタンは一般的な操作を制御します。プッシュ・ボタンをクリックすることにより,実行の開始,次のソース行のステップ実行,ウィンドウ内で選択した変数の値の表示,実行の割り込みなどが行えます。
ユーザは,プッシュ・ボタンおよびそれに対応するデバッガ・コマンドについて,変更,追加,削除,並べ替えなどができるようになっています。
◆コンテキスト依存のポップアップ・メニュー
コンテキスト依存のポップアップ・メニューには,( ソース・ビュー,コマンド・ビューなどの ) それぞれのビューに対応した一般的な操作が表示されます。MB3 をクリックすると,ポップアップ・メニューが現れ,選択しているテキスト,ポイントしているソース行,作業中のビューなどに対するアクションがリストされます。
◆データの表示と操作
変数または式の値を表示するときは,ソース・ビューで変数や式を選択してから,「Examine」( 変数のテスト ) などのプッシュ・ボタンをクリックします。ウィンドウのプルダウン・メニュー (たとえば「Commands」プルダウン・メニューの「Examine」 ),コンテキスト依存のメニュー,ダイアログ・ボックスなどから項目を選択することにより,選択した値を表示することもできます。値はいろいろな型や基数で表示できます。
変数の値を変更するには,モニタ・ビュー に現在表示されている値を編集します。ウィンドウのプルダウン・メニュー ( たとえば「Commands」プルダウン・メニューの「Deposit」 ),コンテキスト依存のメニュー,ダイアログ・ボックスなどから項目を選択して値を変更することもできます。
プログラムからデバッガに制御が戻ると,指定されている変数の更新済みの値がモニタ・ビューに表示されます。
◆保持デバッガの RERUN コマンド
保持デバッガ (kept debugger) でデバッガを動作させることにより,デバッガを終了せずに,同じプログラムを再実行したり,別のプログラムを実行したりすることができます。プログラムを再実行する場合,ブレークポイント,トレースポイント,静的ウォッチポイントの現在の状態を保存することができます。保持デバッガは,画面モード・デバッガでも使用できます。保持デバッガの詳細については,
第 9.1 節 を参照してください。
◆クライアント/サーバ構成
デバッガをクライアント/サーバ構成で実行すると, OpenVMS ノード上で実行されているプログラムを, HP DECwindows Motif for OpenVMS インタフェースを使用する別の OpenVMS ノードまたは Microsoft Windows インタフェースを使用する PC からリモートでデバッグすることができます。同じデバッグ・サーバに 31 個までのデバッグ・クライアントが同時にアクセスできるため,多様なデバッグ・オプションを利用できます。
◆命令ビューとレジスタ・ビュー
命令ビュー には,プログラムのデコード済み命令ストリーム ( 実際に実行されているコード ) が表示されます。デバッグ対象のプログラムがコンパイラによって最適化されているため,ソース・ビューのソース・コードが実行中のコードに反映されていない場合などに,このビューを使用すると便利です。命令にブレークポイントを設定したり,各命令に対応しているメモリ・アドレスやソース・コード行番号を表示したりできます。
レジスタ・ビュー には,すべての機械語レジスタの現在の内容が表示されます。レジスタに別の値を格納するために,表示されている値を書き換えることができます。
◆デバッガ・ステータス・インジケータ
デバッガには,デバッガの状態を示すステータス・インジケータがあります。このインジケータは,次のいずれかの状態を示します。
- D---デバッグ対象のプログラムを実行中。
- U---デバッガはユーザ・コマンドを実行中。
◆スレッド・プログラムのサポート
スレッド・ビュー には,マルチスレッド・プログラムのすべてのタスクの現在の状態が表示されます。スレッドの実行,優先順位,状態変化などを制御するために,スレッド特性を変更することができます。
◆コマンド・インタフェースとの統合
デバッガの HP DECwindows Motif for OpenVMS インタフェースは,画面モード・デバッガを強化したものです。これは,コマンド方式の画面モード・デバッガの上に設けられており,この 2 つは密接に統合されています。
- HP DECwindows Motif for OpenVMS GUI メニューおよびプッシュ・ボタンを使用した場合,コマンドがコマンド・ビューにエコーバックされ,アクションの記録が可能になる。
- プロンプトにコマンドを入力すると,それらのコマンドに対応して HP DECwindows Motif for OpenVMS のビューが更新される。
◆ソース・レベルのエディタとの統合
デバッガを終了せずに,プログラムのソース・コードを編集することができます。エディタ・ビューでは,ソース・コードの表示の他,テキストの検索,置換,追加も可能になっています。エディタ・ビューのテキスト・バッファでは,新しいファイルや既存のファイルの間をすばやく移動したり,バッファ間でテキストをコピー,カット,ペーストすることができます。
デバッガの HP DECwindows Motif for OpenVMS メニュー・インタフェースで使用されるテキスト・エディタは,簡単な機能のエディタであるため,ランゲージ・センシティブ・エディタ (LSE) のような優れた機能を持つエディタにはおよびません。内蔵エディタ以外のエディタを使用する場合は,コマンド・ビューの DBG> プロンプトで Edit コマンドを入力します (EDIT コマンドを参照 )。
◆カスタマイズ
ユーザはデバッガの HP DECwindows Motif for OpenVMS インタフェースの形態を変更することができます。また,デバッガ起動時の環境をカスタマイズするために,現在の設定を
リソース・ファイル に保存することができます。変更できる要素の例を次に示します。
- ウィンドウとビューの構成 ( たとえば,サイズ,画面の位置,順序 )
- プッシュ・ボタンの順序,ラベル,それに対応するデバッガ・コマンド ( プッシュ・ボタンやコマンドの追加および削除を含む )
- 表示されるテキストの文字フォント
◆オンライン・ヘルプ
デバッガの HP DECwindows Motif for OpenVMS インタフェースおよびコマンド・インタフェースでは,オンライン・ヘルプを利用することができます。このオンライン・ヘルプはコンテキスト依存のヘルプです。
次の各項では,デバッガのウィンドウ,メニュー,ビューの他,OpenVMS デバッガ HP DECwindows Motif for OpenVMS インタフェースのその他の機能について説明します。
8.2.1 省略時のウィンドウ構成 |
|
省略時の設定ではデバッガを起動すると,メイン・ウィンドウ に 図 8-1 のように表示されます。
第 9.1 節 で説明している方法でデバッガを起動したときの初期画面では,ソース・ビューは空になっています。プログラムをデバッガの制御下に置いた後のソース・ビューが 図 8-1 に示されています。デバッガで特定のイメージ ( この例では,EIGHTQUEENS) を実行すると,プログラムはデバッガの制御下に入ります。
起動時の構成をカスタマイズすることができます。詳しい説明は 第 10.10.1 項 を参照してください。
図 8-1 デバッガのメイン・ウィンドウ
8.2.2 メイン・ウィンドウ |
|
メイン・ウィンドウには次のものが含まれます (
図 8-1 を参照してください )。
デバッガが Alpha プロセッサまたは Integrity プロセッサ上で実行されている場合,デバッガの名前は「OpenVMS Debug64」になります。
タイトル・バーは,メイン・ウィンドウの上部にあり,デバッガの名前 ( 省略時の場合 ),デバッグするプログラムの名前,現在ソース・ビューに表示されているソース・コード・モジュールの名前などが表示されます。
ソース・ビューには次のものが表示されます。
- デバッグ中のプログラムのソース・コード。省略時の設定では, ( ソース・コードの左に ) コンパイラ生成行番号が表示される。行番号を表示しないようにする方法については,
第 10.1 節 を参照。
- ブレークポイント・トグル用のプッシュ・ボタン。
- 現在のロケーションを示すポインタ ( ブレークポイント・プッシュ・ボタンの左に表示される三角形 )。これにより,プログラムの実行が再開するときに,実行されるソース・コードの行が示される。
ソース・コードの表示についての詳しい説明は,
第 8.2.2.3 項 および 第 10.1 節 を参照してください。
図 8-2 と 表 8-1 では,メイン・ウィンドウ上のメニューについて説明します。
図 8-2 メイン・ウィンドウ上のメニュー