Compaq OpenVMS
デバッガ説明書


前へ 次へ 目次 索引


第 4 部
PC クライアント・インタフェース

第 4 部では,デバッガの PC クライアント・インタフェースについて説明します。

デバッガのコマンド・インタフェースについては,第 2 部 を参照してください。

デバッガの DECwindows Motif インタフェースにてぃては,第 3 部 を参照してください。


第 11 章
デバッガの PC クライアント/サーバ・インタフェースの概要

本章では,デバッガの PC クライアント・インタフェースについて説明します。

OpenVMS バージョン 7.3 デバッガは,以前のバージョンの PC クライアントはサポートしないことに注意してください。第 11.2 節 で説明しているように,OpenVMS バージョン 7.3 のディストリビューション・メディアのキットに含まれているバージョン 1.1 の PC クライアントをインストールする必要があります。

バージョン 1.1 の PC クライアントには,バージョン 7.3 とそれ以前のデバッグ・サーバとの互換性があります。

11.1 概要

OpenVMS デバッガ・バージョン 7.2 およびそれ以降には,デバッガをデバッグ・クライアントとデバッグ・サーバの 2 つの構成要素に分割する,クライアント/サーバ・インタフェースというオプション機能があります。デバッグ・サーバは,OpenVMS システム上で実行されます。デバッグ・クライアントには,OpenVMS システム上で実行されるものと,Microsoft Windows 95,または Microsoft Windows NT 上で実行されるものがあります。Windows 95 と Windows NTでは,インタフェースは共通です。

PC クライアント・インタフェースには,実質的に DECwindows Motif クライアント・インタフェースと同じ機能が備わっています(第 9.8 節 を参照)。

クライアントとサーバは,次のいずれかのトランスポート経由で,DCE RPC を使用して通信を行います。

注意

TCP/IP Services for OpenVMS(UCX)バージョン 4.1 を実行している場合は,ECO2 がインストールされていることが必要です。UCX の最新バージョンを実行することもできます。

PC クライアント/サーバ・インタフェースを実行するために必要なソフトウェアについては, 第 9.8.1 項 を参照してください。

11.2 インストール

OpenVMS 上で実行される構成要素については,特別なインストール・プロシージャは必要ありません。本節では,PC 上のデバッグ・クライアントのインストール手順について説明します。

システム管理者は OpenVMS デバッガ・クライアント・キットを OpenVMS 配布メディアから PC ユーザがアクセスできるような,PATHWORKS シェアや FTP サーバに移す必要があります。次の表に,PC の構成に応じて,どのクライアント・キットを使用するかを示します。

CPU オペレーティング・
システム
クライアント・キット
Intel Microsoft Windows 95, 98 [DEBUG_CLIENTS011.KIT]DEBUGX86010.EXE
Intel Microsoft Windows NT [DEBUG_CLIENTS011.KIT]DEBUGX86010.EXE
Alpha Microsoft Windows NT [DEBUG_CLIENTS011.KIT]DEBUGALPHA010.EXE

クライアント・キットは自動解凍型の.EXEファイルになっています。

適切な実行ファイルをPCに転送したら,そのファイルを実行することによって,デバッグ・クライアントをPC上にインストールできます。INSTALLSHIELD インストール・プロシージャによって,インストールの手順が示されます。

省略時の設定では,デバッグ・クライアントは,\Program Files\OpenVMS Debuggerフォルダにインストールされます。「Browse」をクリックして,別の場所を選択することもできます。

次のオプションのいずれかを選択することが可能です。

インストール・オプション 説明
Typical デバッグ・クライアントと『Compaq OpenVMS デバッガ説明書』の,HTML形式のマニュアル。
Compact デバッグ・クライアントのみ。
Custom デバッグ・クライアントと『Compaq OpenVMS デバッガ説明書』の,HTML形式のマニュアルの一方,または両方。

Typicalインストール・オプションを選択すると,OpenVMS Debuggerのプログラム・フォルダに,次のものに対するショートカットが作成されます。

11.3 プライマリ・クライアントとセカンダリ・クライアント

プライマリ・クライアントは,サーバに最初に接続されたクライアントです。セカンダリ・クライアントは,同じサーバに後から接続されたクライアントです。プライマリ・クライアントによって,サーバにセカンダリ・クライアントを接続できるようにするかどうかを制御することができます。

デバッグ・セッションに接続できるセカンダリ・クライアント数の指定の詳細については, 第 11.5 節 を参照してください。

11.4 PCクライアント・ワークスペース

PCクライアント・ワークスペースは,Motifクライアントのワークスペースと同様のものです(第 8 章 を参照)。クライアント・ワークスペースには,動的な情報を表示するビューと,デバッガ・コマンドに対するショートカットが入ったツールバーが含まれています。必要に応じて,ビューとツールバーを設定したり,ショートカットを作成したり,設定を保存したりすることができます。

これらのトピックについては,PCクライアントのヘルプ・ファイルで詳しく説明されています。PCクライアントのヘルプには,PCクライアントのインストール時に作成した OpenVMS Debuggerフォルダ(第 11.2 節 を参照)から直接アクセスするか,クライアントの「Help」メニューからアクセスします。次のトピックを参照してください。

11.5 サーバ接続の確立

OpenVMS システムに直接ログインしてからデバッグ・サーバを起動することもできますが,eXcursion のような製品や Telnet のようなターミナル・エミュレータを使用して,リモートでログインするほうが便利です。

注意

デバッグ・サーバを実行するには,ライト・データベースに DBG$ENABLE_SERVER 識別子が必要です。デバッガ・サーバを使用するときにチェックしてください。デバッガ・サーバを実行すると,ネットワーク上の誰もがデバッガ・サーバに接続することができるようになります。

DBG$ENABLE_SERVER 識別子を許可する前に,システム管理者はライト・データベースに書き込み(write)アクセスができるアカウントから DEBUG/SERVER コマンドを入力することによって識別子を作成しなければなりません。この作業を行うのは一度のみです。この作業の後,システム管理者は DBG$ENABLE_SERVER 識別子をユーザに許可するための Authorize ユーティリティを実行できます。

デバッグ・サーバを起動するには,次のコマンドを入力します。


$ DEBUG/SERVER

サーバのネットワーク・バインド文字列が表示されます。サーバのポート番号は,角括弧([])で囲まれて表示されます。例を示します。


$ DEBUG/SERVER 
 
%DEBUG-I-SPEAK: TCP/IP: YES, DECnet: YES, UDP: YES 
%DEBUG-I-WATCH: Network Binding: ncacn_ip_tcp:16.32.16.138[1034] 
%DEBUG-I-WATCH: Network Binding: ncacn_dnet_nsp:19.10[RPC224002690001] 
%DEBUG-I-WATCH: Network Binding: ncadg_ip_udp:16.32.16.138[1045] 
%DEBUG-I-AWAIT: Ready for client connection... 

クライアントから接続する場合は,サーバを指定するために,いずれかのネットワーク・バインド文字列を使用します(第 9.8.4 項 を参照)。

注意

通常は,ノード名とポート番号だけを使用してサーバを指定することができます。 nodnam[1034]がその例です。

PC から接続を確立するには,「File」プルダウン・メニューで,または「Main」ツールバーの「C/S」ボタンを選択して,「Connection」ダイアログを表示します。ダイアログには,クライアントが認識しているサーバと,クライアントで現在アクティブになっているセッションが表示されます。

新規の接続についてサーバを指定したり,使用する特定のセッションを選択したりできます。

ダイアログ下部のボタンでは,次のことを行えます。

また,「Advanced」ボタンは使用するネットワーク・プロトコルを選択したり(第 11.5.1 項 を参照),確立するクライアント/サーバ接続で使用できるセカンダリ・クライアントの数(0 〜 30)を選択したりできます(第 11.5.2 項 を参照)。

11.5.1 トランスポートの選択

「Connection」ダイアログでは,クライアント/サーバ接続に使用するネットワーク・プロトコルを,次から選択できます。

11.5.2 セカンダリ接続

「Connection」ダイアログでは,サーバに接続するセカンダリ・クライアント(最大 30)を有効にすることができます。ただし,設定はプライマリ・クライアント(最初にサーバに接続したクライアント)から,次の手順に従って行ってください。

  1. 「Connection」ダイアログで,「Advanced」をクリックする。

  2. 「Properties」ダイアログで,使用できるようにするセカンダリ・クライアントの数を選択する(0〜30)。

  3. 「Connection」ダイアログの「Connect」をクリックする。

デバッガによって「Connection」ダイアログが消去されて,接続が確立されて,接続に成功(または失敗)したことが「Command」ビューに表示されます。これで,デバッグ・プロシージャを開始することができます。

11.6 サーバ接続の終了

サーバを実行しているノード上で Ctrl-Y を入力すると,サーバを停止することができます。この方法でサーバを停止したら,DCL STOP コマンドを入力してください。

サーバをクライアントから停止するには,次の手順に従ってください。

  1. 「File」プルダウン・メニューを開く。

  2. 「Exit」を選択する。

  3. サーバのみを停止する場合は「Server」をクリックする。サーバとクライアントの両方を停止する場合は,「Both」をクリックする。

次の手順でも,サーバを停止することができます。

  1. 「File」プルダウン・メニューを開く。

  2. 「Connection」をクリックして,「Connection」ダイアログを表示する。

  3. 「Active Sessions」リストから,サーバ接続を選択する。

  4. 「Stop」をクリックする。

11.6.1 クライアントとサーバの終了

サーバとクライアントの両方を停止するには,次の手順に従ってください。

  1. 「File」プルダウン・メニューを開く。

  2. 「Exit」をクリックする。

  3. 「Both」をクリックする。

11.6.2 クライアントのみの終了

クライアントのみを停止するには,次の手順に従ってください。

  1. 「File」プルダウン・メニューを開く。

  2. 「Exit」をクリックする。

  3. 「Client」をクリックする。

11.6.3 サーバのみの停止

サーバのみを停止するには,次の手順に従ってください。

  1. 「File」プルダウン・メニューを開く。

  2. 「Exit」をクリックする。

  3. 「Server」をクリックする。

11.7 ドキュメント

PC クライアントのヘルプ・ファイルに加えて,『Compaq OpenVMS デバッガ説明書』が HTML 形式で,オンラインで提供されます。クライアントからマニュアルにアクセスするには,次の手順に従ってください。

  1. 「Help」プルダウン・メニューを開く。

  2. 「Contents」をクリックする。

  3. 「Local Manual」をクリックする。


第 5 部
高度なトピック

第 5 部では,OpenVMS デバッガが持つ高度なデバッグの技術について説明します。


第 12 章
ヒープ・アナライザの使用

ヒープ・アナライザはデバッガの 1 機能で,メモリの使用状況をリアルタイムにグラフィック表示します。ヒープ・アナライザは,OpenVMS Alpha と OpenVMS VAX の両方のシステムで使用できます。この表示を調べることで,ユーザ・アプリケーション内のどの領域でメモリの使用状況と性能を改善できるかを確認することができます。たとえば,頻繁に行われすぎる割り当て,大きすぎるメモリ・ブロック,フラグメンテーションの形跡,メモリ・リークなどを見つけることができます。

問題の領域がどこか見つけた後,ビューを拡大してさらに詳しく表示したり,変更したりすることができます。割り当てのサイズ,内容,アドレスなどの追加情報も表示することができます。

問題点を個々の割り当てにまで絞りこんだ後は,トレースバック情報を表示できます。ヒープ・アナライザでは,割り当てのトレースバック・エントリをアプリケーション・プログラムのソース・コードと相互に対応させることができます。それからソース・コード・ディスプレイをスクロールして調べていけば,問題のあるコードを特定でき,どう修正したらいいかを決定することができます。

本章では,次のことについて説明します。

12.1 ヒープ・アナライザ・セッションの開始

以下の各項では,ヒープ・アナライザを起動してユーザ・アプリケーションを実行する方法について説明します。

12.1.1 ヒープ・アナライザの起動

デバッグ・セッション中は,次のいずれかの方法でヒープ・アナライザを起動することができます。

  1. デバッガのメイン・ウィンドウの「File」メニューから「Run Image」または「Rerun Same」を選択する。ダイアログ・ボックスが表示されたら,実行したいプログラムを選択して「Heap Analyzer」トグル・ボタンをクリックする。

  2. デバッガのコマンド入力プロンプトから,RUN/HEAP_ANALYZER または RERUN/HEAP_ANALYZER program-image コマンドを入力する。

  3. デバッガの外の DECterm ウィンドウでDCL プロンプト($)から次の各コマンドを実行してユーザ・プログラムを実行する。


    $ DEFINE/USER/NAME=CONFINE LIBRTL SYS$LIBRARY:LIBRTL_INSTRUMENTED
    

保護されたイメージに対してヒープ・アナライザを使用するには,次のコマンドを入力して,プログラムを実行します。


$ DEFINE/EXEC/NAME=CONFINE LIBRTL SYS$LIBRARY:LIBRTL_INSTRUMENTED

この処理が必要なのは,次のコマンドを使用してイメージをインストールした場合です。


$ INSTALL ADD imagename/PROTECTED

ヒープ・アナライザは,デバッグ・セッションの外部からも起動できます。その場合には,上記の DEFINE/USER(または DEFINE/SYSTEM)コマンドを入力したあと,DCL の RUN/NODEBUG コマンドを入力します。

注意

OpenVMS Alpha システムでは,/NODEBUG 修飾子を使用してリンクしたプログラムで,ヒープ・アナライザは正しく動作しません。

OpenVMS VAX システムでは,/NODEBUG 修飾子を使用してリンクされたプログラムでヒープ・アナライザは動作しますが,表示されるトレースバック情報はわずかです。

ヒープ・アナライザが問題なく起動すると,ヒープ・アナライザ起動画面が表示されます。

12.1.2 ヒープ・アナライザのウィンドウ

ヒープ・アナライザには,メイン・ウィンドウ,6 つの補助ウィンドウ,およびコントロール・パネルがあります(図 12-1 を参照)。

最も重要なウィンドウである「Memory Map」には,ユーザ・アプリケーションによるメモリの使用状況が動的に表示されます。起動時の「Memory Map」には,アプリケーションを構成するイメージが表示されます。アプリケーションを実行すると,個々のメモリ・ブロック,イメージ,プログラム領域,メモリ・ゾーン,および動的文字列の相対記憶位置とサイズが,メモリ空間での割り当てと割り当て解除に応じて表示されます。

「Message」ウィンドウには,ヒープ・アナライザ・セッションについての情報が表示されます。起動時の「Message」ウィンドウには,'Heap Analyzer initialization complete. Press Start button to begin program' というメッセージが表示されます。ユーザ・アプリケーション実行中は,通報メッセージやエラー・メッセージが表示されます。

「Push Button」コントロール・パネルには,「Memory Map」ディスプレイの速度を調節するボタンがあります。デバッガを起動した後,ユーザ・アプリケーションの実行を開始するには,「Start」ボタンをクリックします。ユーザ・アプリケーション実行中にコントロール・パネルの他のボタンをクリックすると,連続表示の一時停止や低速化などの操作ができます。

「Information 」ウィンドウには,「Memory Map」のセグメントについての情報が表示されます。アプリケーション実行中に,いつでも実行を一時停止して特定の情報を表示することができます。

「Source」ウィンドウには,「Memory Map」のセグメントに対応する,アプリケーションのソース・コードが表示されます。

「Do-not-use Type」リストでは,セグメント・タイプつまりグループ名を再設定して,「Memory Map」ディスプレイを調整することができます。

「Views-and-Types」ディスプレイでは,選択した特定のセグメント・タイプを表示して,「Memory Map」ディスプレイを調整することができます。

「Type」ヒストグラムには,セグメント・タイプの要約と統計情報が表示されます。

ヒープ・アナライザを使用するとき,作業中のウィンドウのサイズを拡大または縮小しなければならない場合があります。この拡大や縮小には,ウィンドウ間の枠を引っぱるか,または画面全体のサイズを変更します。

図 12-1 ヒープ・アナライザのウィンドウ


1.「Memory Map」 メモリつまり使用中の P0 空間部分をグラフィック表示する。それぞれの割り当ては色付きの帯のセグメントとして表示される。
2.「Message」ウィンドウ ヒープ・アナライザの通報メッセージとエラー・メッセージやセグメントの説明を 1 行で表示する。
3.「Information」ウィンドウ Memory Map」に表示されるセグメントとセグメント・タイプについての情報を表示する。
4.「Source」ウィンドウ アプリケーションのソース・コードを表示する。
5.「Do-not-use Type」リスト セグメント・タイプ(セグメントを特徴づける名前)として使用しない ルーチンの一覧を表示する。
6.「Views-and-Types」ディスプレイ ヒープ・アナライザが認識しているセグメント・タイプの一覧を表示する。セグメント・ディスプレイの変更も行う。
7.「Push Button」コントロール・パネル 「Start」(「Step」),「Pause」,「Slow」,「Sync」の各ボタンがある。「Memory Map」ディスプレイの速度を調節するためにボタンを使用する。
8.「Type」ヒストグラム セグメントのサイズと使用状況についての統計情報を表示する。


前へ 次へ 目次 索引