前へ | 次へ | 目次 | 索引 |
第 3 部では,デバッガの Compaq DECwindows Motif for OpenVMS ユーザ・インタフェースについて説明します。
デバッガのコマンド・インタフェースにつては,第 2 部 をご覧ください。
本章ではデバッガの Compaq DECwindows Motif for OpenVMS ユーザ・インタフェースについて説明します。コマンド・インタフェースについては,第 2 部 を参照してください。
OpenVMS デバッガ・バージョン 7.1 以上に対する Compaq DECwindows Motif for OpenVMS ユーザ・インタフェースでは,Compaq DECwindows Motif for OpenVMS バージョン 1.2 以上が必要です。 |
本章には次の内容が含まれます。
デバッグ・セッションの開始方法についての詳しい説明は,第 9 章 を参照してください。デバッガの使用方法について説明は,第 10 章 を参照してください。本章のプログラムのソース・コード EIGHTQUEENS.EXE については,付録 D を参照してください。
8.1 はじめに
OpenVMS デバッガでは,ワークステーション用に Compaq DECwindows Motif for OpenVMS グラフィカル・ユーザ・インタフェース(GUI)を使用できます。このインタフェースは画面モード・コマンド・インタフェースの拡張機能であり,マウスを使用してメニューから項目を選択したり,プッシュ・ボタンを有効または無効に設定したり,ポインタをドラッグしてウィンドウ内のテキストを選択できます。デバッガの Compaq DECwindows Motif for OpenVMS GUI メニューとプッシュ・ボタンを使用すると,基本的なほとんどのデバッグ作業を実行できます。
Compaq DECwindows Motif for OpenVMS GUI はキャラクタ・セル・コマンド・インタフェースの上に構築された GUI であり,コマンド・ライン にコマンド入力プロンプトが表示されます(コマンド・ビュー)。Compaq DECwindows Motif for OpenVMS GUI コマンド・ラインから,次の目的でデバッガ・コマンドを入力できます。
他のデバッグ・コマンドを新しいプッシュ・ボタンや既存のプッシュ・ボタンに割り当てるために,Compaq DECwindows Motif for OpenVMS GUI をカスタマイズできます。
Compaq DECwindows Motif for OpenVMS GUI はローカル・モードまたはクライアント/サーバ・モードで実行することができます。クライアント/サーバ・モードでは,他の OpenVMS ノードからプログラムをリモートでデバッグできます。どちらの Motif モードのユーザ・インタフェースも,実質的に同じものです。インタフェースの起動方法については 第 9 章 で解説しています。
Compaq DECwindows Motif for OpenVMS では,コマンド入力プロンプトとして HELP コマンドを認識しません。デバッガ・コマンドに関するオンライン・ヘルプが必要なときは,「Help」メニューで「On Commands」を選択してください。 コマンド・ライン・インタプリタ(CLI)なしで実行されるプリント・シンビオントなど,独立プロセスをデバッグするために Compaq DECwindows Motif for OpenVMS GUI を使用することはできません。CLI のない独立プロセスのデバッグについては, 第 1.11 節 を参照してください。 |
デバッガの省略時の Compaq DECwindows Motif for OpenVMS インタフェースに用意されているいくつかの便利な機能について説明します。第 8.2 節 では,図を使用して説明します。(デバッガのコマンド・インタフェースの便利な機能については,第 1.1.2 項 を参照してください。)
OpenVMS デバッガはソース・レベルのデバッガです。ソース・レベルのデバッガです。デバッガの ソース・ビュー には,プログラムの実行が一時停止しているとき,その命令の前後のソース・コードが表示されます。コンパイラ生成行番号を表示するかしないかはユーザが選択できます。
ソース・ブラウザには,次の機能があります。
メイン・ウィンドウの「Call Stack」メニューには,現在呼び出しスタックに入れられているルーチン呼び出しが表示されます。「Call Stack」メニューでルーチン名をクリックすることにより,(そのルーチンに対して)次の事項のコンテキスト(有効範囲)を設定します。
ブレークポイントを設定したり,オン・オフを切り替えたりするには,ソース・ビューまたは命令ビューの,ソース行の隣にあるボタンをクリックして選択します。ウィンドウのプルダウン・メニュー,ポップアップ・メニュー,コンテキスト依存のメニュー,ダイアログ・ボックスから項目を選択してブレークポイントを設定したり,オン・オフを切り替えたりすることもできます。また,条件付きブレークポイントを設定して,指定した条件が真になったときにプログラムの実行が停止するようにしたり,アクション・ブレークポイントを設定して,ブレークポイントでプログラムが停止するときに,1つまたは複数のデバッガ・コマンドを実行するようにしたりすることもできます。メイン・ウィンドウのボタン,命令ビューのプッシュ・ボタン,および ブレークポイント・ビュー を見ると,ブレークポイントのオン・オフや条件付きブレークポイントが識別できるようになっています。
プッシュ・ボタン・ビュー のプッシュ・ボタンは一般的な操作を制御します。プッシュ・ボタンをクリックすることにより,実行の開始,次のソース行のステップ実行,ウィンドウ内で選択した変数の値の表示,実行の割り込みなどが行えます。
ユーザは,プッシュ・ボタンおよびそれに対応するデバッガ・コマンドについて,変更,追加,削除,並べ替えなどができるようになっています。
コンテキスト依存のポップアップ・メニューには,(ソース・ビュー,コマンド・ビューなどの)それぞれのビューに対応した一般的な操作が表示されます。MB3 をクリックすると,ポップアップ・メニューが現れ,選択しているテキスト,ポイントしているソース行,作業中のビューなどに対するアクションがリストされます。
変数または式の値を表示するときは,ソース・ビューで変数や式を選択してから,「EVAL」(式の評価)や「EX」(変数のテスト)などのプッシュ・ボタンをクリックします。ウィンドウのプルダウン・メニュー(たとえば「Commands」プルダウン・メニューの「Examine」),コンテキスト依存のメニュー,ダイアログ・ボックスなどから項目を選択することにより,選択した値を表示することもできます。値はいろいろな型や基数で表示できます。
変数の値を変更するには,モニタ・ビュー に現在表示されている値を編集します。ウィンドウのプルダウン・メニュー(たとえば「Commands」プルダウン・メニューの「Deposit」),コンテキスト依存のメニュー,ダイアログ・ボックスなどから項目を選択して値を変更することもできます。
プログラムからデバッガに制御が戻ると,指定されている変数の更新済みの値がモニタ・ビューに表示されます。
保持デバッガ(kept debugger)でデバッガを動作させることにより,デバッガを終了せずに,同じプログラムを再実行したり,別のプログラムを実行したりすることができます。 プログラムを再実行する場合,ブレークポイント,トレースポイント,静的ウォッチポイントの現在の状態を保存することができます。保持デバッガは,画面モード・デバッガでも使用できます。保持デバッガの詳細については,第 9.1 節 を参照してください。
デバッガをクライアント/サーバ構成で実行すると,OpenVMS ノード上で実行されているプログラムを,Compaq DECwindows Motif for OpenVMS インタフェースを使用する別の OpenVMS ノードまたは Microsoft Windows インタフェースを使用する PC からリモートでデバッグすることができます。同じデバッグ・サーバに 31 個までのデバッグ・クライアントが同時にアクセスできるため,多様なデバッグ・オプションを利用できます。
命令ビュー には,プログラムのデコード済み命令ストリーム(実際に実行されているコード)が表示されます。デバッグ対象のプログラムがコンパイラによって最適化されているため,ソース・ビューのソース・コードが実行中のコードに反映されていない場合などに,このビューを使用すると便利です。命令にブレークポイントを設定したり,各命令に対応しているメモリ・アドレスやソース・コード行番号を表示したりできます。
レジスタ・ビュー には,すべての機械語レジスタの現在の内容が表示されます。レジスタに別の値を格納するために,表示されている値を書き換えることができます。
デバッガには待ち状態を示すために 2 つの異なる待ちカーソルがあります。1 つの待ちカーソルは標準の砂時計のカーソルです。このカーソルは,デバッガがユーザ・コマンドの結果として処理を実行していることを示します。
2 番目の待ちカーソルはクモの形をしています。このカーソルは,デバッグされるプログラムが実行中であることを示します。
タスキング・ビュー には,タスキング・プログラム(マルチスレッド・プログラムとも呼ばれる)のすべてのタスクの現在の状態が表示されます。タスクの実行,優先順位,状態変化などを制御するために,タスク特性を変更することができます。
デバッガの Compaq DECwindows Motif for OpenVMS インタフェースは,画面モード・デバッガを強化したものです。これは,コマンド方式の画面モード・デバッガの上に設けられており,この 2 つは密接に統合されています。
デバッガを終了せずに,プログラムのソース・コードを編集することができます。エディタ・ビューでは,ソース・コードの表示の他,テキストの検索,置換,追加も可能になっています。エディタ・ビューのテキスト・バッファでは,新しいファイルや既存のファイルの間をすばやく移動したり,バッファ間でテキストをコピー,カット,ペーストすることができます。
デバッガの Compaq DECwindows Motif for OpenVMS メニュー・インタフェースで使用されるテキスト・エディタは,簡単な機能のエディタであるため,ランゲージ・センシティブ・エディタ(LSE)のような優れた機能を持つエディタにはおよびません。内蔵エディタ以外のエディタを使用する場合は,コマンド・ビューの DBG> プロンプトで Edit コマンドを入力します(EDIT コマンドを参照)。
ユーザはデバッガの Compaq DECwindows Motif for OpenVMS インタフェースの形態を変更することができます。また,デバッガ起動時の環境をカスタマイズするために,現在の設定を リソース・ファイル に保存することができます。変更できる要素の例を次に示します。
デバッガの Compaq DECwindows Motif for OpenVMS インタフェースおよびコマンド・インタフェースでは,オンライン・ヘルプを利用することができます。このオンライン・ヘルプはコンテキスト依存のヘルプです。
8.2 デバッガのウィンドウとメニュー
次の各項では,デバッガのウィンドウ,メニュー,ビューの他,OpenVMS デバッガ Compaq DECwindows Motif for OpenVMS インタフェースのその他の機能について説明します。
8.2.1 省略時のウィンドウ構成
省略時の設定ではデバッガを起動すると,メイン・ウィンドウ に 図 8-1 のように表示されます。
第 9.1 節 で説明している方法でデバッガを起動したときの初期画面では,ソース・ビューは空になっています。プログラムをデバッガの制御下に置いた後のソース・ビューが 図 8-1 に示されています。デバッガで特定のイメージ(この例では,EIGHTQUEENS)を実行すると,プログラムはデバッガの制御下に入ります。
起動時の構成をカスタマイズすることができます。詳しい説明は 第 10.10.1 項 を参照してください。
図 8-1 省略時のウィンドウ構成
メイン・ウィンドウには次のものが含まれます(図 8-1 を参照してください)。
タイトル・バーは,メイン・ウィンドウの上部にあり,デバッガの名前(省略時の場合),デバッグするプログラムの名前,現在ソース・ビューに表示されているソース・コード・モジュールの名前などが表示されます。
8.2.2.2 ソース・ビュー
ソース・ビューには次のものが表示されます。
ソース・コードの表示についての詳しい説明は,
第 8.2.2.3 項 および 第 10.1 節 を参照してください。
8.2.2.3 メイン・ウィンドウ上のメニュー
図 8-2 と 表 8-1 では,メイン・ウィンドウ上のメニューについて説明します。
図 8-2 メイン・ウィンドウ上のメニュー
メニュー | 項目 | 説明 |
---|---|---|
File | Run Image... | 実行可能なイメージを指定して,プログラムをデバッガの制御下に置く。 |
Run Foreign Command... | フォーリン・コマンドのシンボルを指定して,プログラムをデバッガの制御下に置く。 | |
Rerun Same... | 同じプログラムをデバッガの制御下で再実行する。 | |
Browse Sources |
ユーザ・プログラムのモジュールのソース・コードを表示する。ルーチンにブレークポイントを設定する。
|
|
Display Line Numbers | ソース・ビューに行番号を表示する,または表示しないようにする。 | |
Server Connection... | (クライアント/サーバ・モード)接続するサーバのネットワーク・バインディング文字列を指定する。 | |
Exit Debug? | デバッグ・セッションを終了し,デバッガを終了する。 | |
Edit | Cut | 選択されたテキストをカットし,クリップボードへコピーする。テキストは,フィールドまたは入力を受け付けるリージョンからのみカットできる(ただしほとんどの場合に,Cut を実行すると選択したテキストがクリップボードにコピーされる)。 |
Copy | 選択されたテキストをウィンドウからクリップボードへコピーするが,テキストの削除は行わない。 | |
Paste | テキスト入力フィールドまたはテキスト入力領域へ,クリップボードからテキストをペーストする。 | |
Break | On Exception | プログラム実行中にシグナル通知された例外でブレークする。 |
Activate All | 以前に設定したブレークポイントをすべて有効にする。 | |
Deactivate All | 以前に設定したブレークポイントをすべて無効にする。 | |
Cancel All | デバッガのブレークポイント・リストとブレークポイント・ビューからブレークポイントをすべて削除する。 | |
Set... | (特定の条件やアクションに関連付けられた)新しいブレークポイントを指定の箇所に設定する。 | |
Commands | Examine... | 変数や式の現在値を調べる。出力値の型キャストまたは基数の変更ができる。 |
Deposit... | 変数に値を格納する。入力値の基数を変更できる。 | |
Edit File | デバッガのエディタでユーザ・ファイルのソース・コードを編集する。 | |
Options | Views... |
次のビューの 1 つまたはいくつかを表示する。
ブレークポイント・ビュー |
Track Language Changes | デバッガが前回実行されたモジュールとは異なる言語で書かれたモジュールに入ったときに通知を行う。 | |
Show Message Separators | デバッガが表示する個々のコマンドとメッセージの間に点線を表示する。 | |
Customize Buttons... | プッシュ・ボタン・ビューのプッシュ・ボタンやそれに対応したデバッガ・コマンドの変更,追加,削除,並べ替えなどを行う。 | |
Save Options | ウィンドウとビューの構成やプッシュ・ボタンの定義など,会話形式でカスタマイズ可能な Compaq DECwindows Motif for OpenVMS 機能の現在の設定を保存する。これにより,次にデバッガを起動するとき,デバッガの現在の構成が維持されるようになる。 | |
Restore Default Options | システムの省略時デバッガ・リソース・ファイル DECW$SYSTEM_DEFAULTS:VMSDEBUG.DAT をユーザ指定リソース・ファイル DECW$USER_DEFAULTS:VMSDEBUG.DAT にコピーする。省略時のオプションは,次にデバッガを起動するときに有効になる。 | |
Edit Options File | デバッグ・エディタで,ユーザ指定リソース・ファイル DECW$USER_DEFAULTS:VMSDEBUG.DAT のロードと表示を行い,表示と変更ができるようにする。 | |
Help | On Context | コンテキスト依存のオンライン・ヘルプを表示可能にする。 |
On Window | デバッガについての情報を表示する。 | |
On Help | オンライン・ヘルプ・システムについての情報を表示する。 | |
On Version | デバッガのこのバージョンについての情報を表示する。 | |
On Commands | デバッガ・コマンドについての情報を表示する。 |
レジスタ・タイプ | VAX ディスプレイ | Alpha ディスプレイ |
---|---|---|
Call Frame | AP, FP, SP, PC, PSL | R0, R25, R26, R27, FP, SP, F0, F1, PC, PS, FPCR, SFPCR |
General Purpose | R0-R11 | R0-R28, FP, SP, R31 |
Floating Point | n/a | F0-F31 |
前へ | 次へ | 目次 | 索引 |