日本-日本語

製品  >  ソフトウェア  >  OpenVMS  >  マニュアル

OpenVMS マニュアル


≫ 

OpenVMS V7.3-2
ライブラリ

タイトルページ
目次
まえがき
第 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 章:ベクタ化されたプログラムのデバッグ
第 17 章:タスキング・プログラムのデバッグ
第 6 部:付録
付録 A :定義済みのキー機能
付録 B :組み込みシンボルと論理名
付録 C :各言語に対するデバッガ・サポートの要約
付録 D :EIGHTQUEENS.C
索引
PDF
OpenVMS ホーム

HP OpenVMS
デバッガ説明書


目次 索引



デバッガのコマンド・インタフェースをプログラムの入出力 (I/O) とともに DECterm ウィンドウの中に表示するには,次の手順に従ってください。

  1. デバッガを起動しようとしている DECterm ウィンドウに次の定義を入力する。


    $ DEFINE/JOB DBG$DECW$DISPLAY " "
    


    二重引用符の間には 1 つ以上のスペース文字を指定することができます。論理名にはジョブ定義を使用してください。プロセス定義を使用する場合は, CONFINE 属性を与えないでください。

  2. 通常の方法で,その DECterm ウィンドウからデバッガを起動する ( 第 9.1 節 を参照 )。
    デバッガのコマンド・インタフェースが同一ウィンドウに表示されます。

次に例を示します。


$ DEFINE/JOB DBG$DECW$DISPLAY " "
$  DEBUG/KEEP 
            Debugger Banner and Version Number 
DBG>

これで, 第 9.1 節 で説明した方法でプログラムをデバッガの制御下に置くことができます。

ここでは,デバッガを起動する DECterm ウィンドウ以外の DECterm ウィンドウに,デバッガのコマンド・インタフェースを表示する方法について説明します。画面用プログラムのデバッグにコマンド・インタフェースを使用する場合は,この別ウィンドウが便利です。

  • プログラムの入出力 (I/O) (I/O)はデバッガを起動したウィンドウに表示される。

  • 画面モードの表示を含め,デバッガの入出力 (I/O) は別ウィンドウに表示される。

DECwindows Motif for OpenVMS ではなく VWS が稼働しているワークステーションの DBG> プロンプトで SET MODE SEPARATE コマンドを入力しても同じ効果が得られます。(DECterm ウィンドウの中では SET MODE SEPARATE コマンドは無効です。)

「Debugger」という別のデバッガ・ウィンドウにデバッガのコマンド・インタフェースを表示する方法を次の例に示します。

  1. 例 9-1 のように,コマンド・プロシージャ SEPARATE_WINDOW.COM を作成する。

    例 9-1 コマンド・プロシージャSEPARATE_WINDOW.COM

    $ ! DECtermウィンドウからのSET MODE SEPARATEの効果をシミュレートする。 
    $ ! 
    $ CREATE/TERMINAL/NOPROCESS - 
       /WINDOW_ATTRIBUTES=(TITLE="Debugger",- 
               ICON_NAME="Debugger",ROWS=40)- 
       /DEFINE_LOGICAL=(TABLE=LNM$JOB,DBG$INPUT,DBG$OUTPUT) 
    $ ALLOCATE DBG$OUTPUT 
    $ EXIT 
    $ ! 
    $ ! CREATE/TERMINAL/NOPROCESSコマンドは,プロセスなしで 
    $ ! DECtermウィンドウを作成する。 
    $ ! 
    $ ! /WINDOW_ATTRIBUTES修飾子は,ウィンドウの 
    $ ! 名前(Debugger),アイコン名(Debugger),および 
    $ ! ウィンドウの行数(40)を指定する。 
    $ ! 
    $ ! /DEFINE_LOGICAL修飾子は,ウィンドウに論理名DBG$INPUTと 
    $ ! 論理名DBG$OUTPUTを割り当てるので, 
    $ ! ウィンドウがデバッガの入出力 (I/O) 装置になる。 
    $ ! 
    $ ! ALLOCATE DBG$OUTPUTコマンドは,デバッグ・セッションの 
    $ ! 終了時に別ウィンドウをオープンしたまま残す。 
    

  2. 次のようにコマンド・プロシージャを実行する。


    $ @SEPARATE_WINDOW
    %DCL-I-ALLOC, _MYNODE$TWA8: allocated
    


    SEPARATE_WINDOW.COM で指定されている属性の新しい DECterm ウィンドウが作成される。

  3. デバッガのコマンド・インタフェースを表示するために, 第 9.7.3.2 項 の手順を実行する。新しいウィンドウにコマンド・インタフェースが表示される。

  4. これでデバッガのウィンドウにデバッガ・コマンドを入力することができる。プログラムの入出力 (I/O) は,デバッガを起動した DECterm ウィンドウに表示される。

  5. EXIT コマンドでデバッグ・セッションを終了すると,プログラムの入出力 (I/O) ウィンドウ内の DCL プロンプトに制御が戻るが,デバッガのウィンドウは開いたまま残る。

  6. 第 9.7.3.2 項 のようにプログラムの入出力 (I/O) と同じウィンドウにデバッガのコマンド・インタフェースを表示するには,次のコマンドを入力する。


    $ DEASSIGN/JOB DBG$INPUT
    $ DEASSIGN/JOB DBG$OUTPUT
    


    ユーザが明示的に閉じるまで,デバッガのウィンドウは開いたままである。



ワークステーションで DECwindows Motif for OpenVMS が稼働している場合,省略時の設定では,デバッガは DECwindows Motif for OpenVMS ユーザ・インタフェースで起動されます。 DECwindows Motif for OpenVMS ユーザ・インタフェースは, DECwindows Motif for OpenVMS のアプリケーション全体に通用する論理名 DECW$DISPLAY で指定されたワークステーションに表示されます。 DECW$DISPLAY は,FileView または DECterm によってジョブ・テーブルの中に定義されます。DECW$DISPLAY はワークステーション用の表示装置を指します。

DECW$DISPLAY についての詳しい説明は,『OpenVMS DCL ディクショナリ』の DCL コマンドの SET DISPLAY および SHOW DISPLAY の説明を参照してください。

論理名 DBG$DECW$DISPLAY は,DECW$DISPLAY と等価なデバッガ固有の論理名です。DBG$DECW$DISPLAY は,デバッガ固有の論理名である DBG$INPUT と DBG$OUTPUT に相当します。これらの論理名を使用すると,それぞれ SYS$INPUT と SYS$OUTPUT に割り当てられた値を変更して,デバッガの入出力 (I/O) が表示される装置を指定することができます。

デバッガの省略時のユーザ・インタフェースが使用されるのは, DBG$DECW$DISPLAY が未定義である場合,または変換された DBG$DECW$DISPLAY が DECW$DISPLAY と同じである場合です。省略時の設定では DBG$DECW$DISPLAY は未定義です。

DECW$DISPLAY と DBG$DECW$DISPLAY の論理定義を使用している場合,デバッガは次のアルゴリズムに従って動作します。

  1. 論理名 DBG$DECW$DISPLAY が定義されているときはそれを使用する。定義されていないときは DECW$DISPLAY 論理名を使用する。

  2. 論理名を変換する。論理名の値が NULL でない場合 ( 文字列にスペース以外の文字が含まれている場合 ) は,指定されているワークステーション上に DECwindows Motif for OpenVMS ユーザ・インタフェースを表示する。論理名の値が NULL である場合 ( 文字列にスペースだけしか含まれていない場合 ) は,DECterm ウィンドウの中にコマンド・インタフェースを表示する。

OpenVMS デバッガが DECwindows Motif for OpenVMS ユーザ・インタフェースで起動するように設定するときは,次のいずれかのコマンドを使用します。


$DEFINE DBG$DECW$DISPLAY "WSNAME::0" 
 
$SET DISPLAY/CREATE/NODE=WSNAME 

ただし WSNAME は,ワークステーションのノード名になります。

9.8 Motifデバッグ・クライアントの起動

OpenVMS デバッガ・バージョン 7.2 の機能であるクライアント/サーバ・インタフェースを使用すると,OpenVMS (VAX または Alpha CPU) 上で実行されているプログラムを,同じシステム上,または別のシステム上で実行されているクライアント・インタフェースからデバッグすることができます。

デバッガのクライアント/サーバでは,保持デバッガの機能をそのまま使用することができますが,デバッガは,デバッグ・サーバとデバッグ・クライアントという 2 つの構成要素に分割されています。デバッグ・サーバは OpenVMS システム上で実行され,ユーザ・インタフェースを持たない保持デバッガに相当します。一方,デバッグ・クライアントはユーザ・インタフェースを持ち, DECwindows Motif for OpenVMS を使用する OpenVMS システム上,または Microsoft Windows 95 か Microsoft Windows NT を使用する PC 上で実行されます。

9.8.1 ソフトウェアの必要条件

デバッグ・サーバの実行には,OpenVMS バージョン 7.2 以降が必要です。

デバッグ・クライアントは,次のいずれかのオペレーティング・システム上で実行できます。

  • OpenVMS バージョン 7.2以降 ( DECwindows Motif for OpenVMS バージョン 1.2-3が必要 )

  • Microsoft Windows 95

  • Microsoft Windows NT バージョン 3.51 以降 (Intel または Alpha)

また,OpenVMS デバッガ・クライアント/サーバ構成では,サーバを実行する OpenVMS ノードに,次のものがインストールされていることが必要です。

  • TCP/IP スタック

  • DCE RPC

注意

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

OpenVMS バージョン 7.2 のインストール・プロシージャでは,DCE RPC が自動的にインストールされます。



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

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


$ 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 項 を参照)。次の表に,ネットワーク・トランスポートとネットワーク・バインド文字列の接頭辞の対応を示します。

ネットワーク・トランスポート ネットワーク・バインド文字列の接頭辞
TCP/IP ncacn_ip_tcp
DECnet ncacn_dnet_nsp
UDP ncadg_ip_udp

注意

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

省略時の設定では,サーバを起動したウィンドウに,メッセージとプログラム出力が表示されます。必要に応じて,プログラム出力を別のウィンドウにリダイレクトすることができます。

次の例には,DCEがインストールされていないことを示すエラー・メッセージが含まれています。


$ debug/server 
%LIB-E-ACTIMAGE, error activating image disk:[SYSn.SYSCOMMON.][SYSLIB]DTSS$SHR.EXE; 
-RMS-E-FNF, file not found 

このエラー・メッセージの場合,DCEはインストールされていますが,設定されていません。

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

デバッガのクライアント/サーバ・インタフェースを使用すると,同じサーバに 1 つ以上のクライアントを接続することが可能になります。この機能を利用すると,チームによるデバッグや教室でのセッション,その他のアプリケーションを実現できます。

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

セッション中で,いくつのセカンダリ・クライアントを使用できるようにするかを指定する方法については, 第 9.8.4 項 で説明します。

9.8.4 Motifクライアントの起動

セッションとは,特定のクライアントと特定のサーバの間の接続のことです。クライアントでは,サーバへの接続の際にクライアントが使用したネットワーク・バインド文字列によって,各セッションが識別されます。デバッグ・サーバを起動してから,Motifデバッガ・クライアントを起動してください。起動するには,次のコマンドを入力ます。


$ DEBUG/CLIENT 

Motifデバッグ・クライアントからセッションを確立するには,「File」メニューの「Server Connection」をクリックします。「Server Connection」ダイアログの「Connection」リストには,省略時の設定のネットワーク・バインド文字列が表示されます。表示される文字列は直前に入力したものか,またはクライアントが実行されているノードとなります。サーバを省略時の設定のバインド文字列に関連付ける必要はありません。 図 9-6 に「Server Connection」ダイアログを示します。

図 9-6 「Server Connection」ダイアログ


「Server Connection」ダイアログの下部にあるボタンを使用すると,次のことを行えます。

  • 選択したサーバに接続して,新規のセッションを起動する。

  • セッションを切断する。

  • セッションがまだ使用可能かどうかをテストする。

  • サーバを停止する。

  • 接続操作を取り消して,ダイアログを消去する。

また,「Options」ボタンをクリックすると,「Server Options」ダイアログが表示されます。「Server Options」ダイアログでは,使用するトランスポートを選択することができます ( 第 11.5.1 項 を参照)。

「Server Options」ダイアログでは,新規のセッションで使用できるセカンダリ・クライアントの数(0〜31)を選択することもできます。

図 9-7 に「Server Options」ダイアログを示します。

図 9-7 「Server Options」ダイアログ


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

  1. 「File」メニューを開く。

  2. 「Server Connection」をクリックする。

  3. 「Connection」フィールドに,サーバのネットワーク・バインド文字列を入力するか,省略時の設定の文字列のままにする。

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

  5. 「Server Options」ダイアログで,ネットワーク・トランスポートをクリックする(TCP/IP,DECnet,またはUDP)。

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

  7. 「OK」をクリックして,「Server Options」ダイアログを消去する。

  8. 「Server Connection」ダイアログで,「Connect」をクリックする。

上記の手順を繰り返し,新規のネットワーク・バインド文字列をその都度指定することによって,いくつでも,サーバに対する接続を確立することができます。

9.8.5 セッションの切り替え

サーバに接続してセッションを起動すると,「Server Connection」ダイアログの「Active Sessions」リストにセッションが表示されます( 図 9-8 を参照)。前後のセッションに切り替えることが可能です。新規のセッションに切り替えると,表示されているデバッガ画面の内容が,デバッガによって新しい内容に更新されます。

別のセッションに切り替えるには,次の手順に従ってください。

  1. 「File」メニューを開く。

  2. 「Server Connection」をクリックする。

  3. 「Active Sessions」リストをクリックして,アクティブなセッションのリストを表示する。

  4. 「Active Sessions」リスト内の目的のセッションをダブルクリックする。ダブルクリックしたセッションがカレント・セッションとして選択されて,「Server Connection」ダイアログが消去されて,デバッガ画面が現在の内容に更新される。

セッションがアクティブになっている間は,セッションで使用できるセカンダリ・クライアントの数を変更できない点に注意してください。セッションで使用できるセカンダリ・クライアントの数を変更するには,プライマリ・クライアントで次の手順に従ってください。

  1. 「File」メニューを開く。

  2. セッションのネットワーク・バインド文字列を指定する。

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

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

  5. 「Server Options」ダイアログで,ネットワーク・トランスポートをクリックする(TCP/IP,DECnet,またはUDP)。

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

  7. 「OK」をクリックして,「Server Options」ダイアログを消去する。

  8. 「Server Connection」ダイアログで,「Connect」をクリックする。

図 9-8 「Active Sessions」リスト




「File」メニューの「Exit Debug?」をクリックして,「Confirm Exit」ダイアログを表示します。 図 9-9 に「Confirm Exit」ダイアログを示します。

図 9-9 「Confirm Exit」ダイアログ


「Confirm Exit」ダイアログが表示されたら,次のいずれかを行ってください。

  • クライアントとサーバの両方を終了する場合は,「OK」をクリックする ( 省略時の設定 )。

  • 何も行わずに「Confirm Exit」ダイアログを消去するには,「Cancel」をクリックする。

  • デバッグ・クライアントのみを終了する場合は,次の手順に従う。

    1. 「Exit Server」をクリックする。

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

  • デバッグ・サーバのみを終了する場合は,次の手順に従う。

    1. 「Exit Client」をクリックする。

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

デバッグ・サーバを終了しない場合は,別のデバッグ・クライアントからサーバに接続することが可能です。クライアントを終了しない場合は,ネットワーク・バインド文字列が分かっている別のサーバに接続することができます。


目次 索引

印刷用画面へ
プライバシー 本サイト利用時の合意事項