日本-日本語

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

OpenVMS マニュアル


≫ 

OpenVMS V8.3
ライブラリ

タイトルページ
目次
まえがき
第 1 章:リファレンス・セクション
付録 A:廃止されたコマンド
索引
PDF    Vol.1   Vol.2
OpenVMS ホーム

HP OpenVMS
DCL ディクショナリ


目次 索引




OpenVMS Debugger を起動します。

OpenVMS Debugger についての詳細は『HP OpenVMS デバッガ説明書』を参照してください。

DCL レベルからデバッガ・コマンドのヘルプを参照したい場合は,次のコマンドを入力します。


$ HELP/LIBRARY=SYS$HELP:DBG$HELP DEBUG


形式

DEBUG




ヒープ・アナライザ

ヒープ・アナライザは,メモリの使用状況をリアルタイムに図示します。この機能により,頻繁すぎる割り当て,大きすぎるメモリ・ブロック,フラグメンテーション,あるいはメモリ・リークなど,アプリケーション中の非効率的なメモリの使い方を素早く判別することができます。

デバッガからのヒープ・アナライザの実行についての詳細は,『HP OpenVMS デバッガ説明書』を参照してください。

OpenVMS I64 では,スタンドアロン・ヒープ・アナライザは, START HEAP_ANALYZER コマンドを使用して,保持デバッガから起動します (例を参照)。

OpenVMS Alpha では,スタンドアロン・ヒープ・アナライザは, RUN/HEAP コマンドを使用して,保持デバッガから起動します。

OpenVMS VAX では,スタンドアロン・ヒープ・アナライザは,次のコマンドを入力して起動します。


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


修飾子



/CLIENT

DEBUG クライアントの Motif インタフェースを起動します。クライアントから,サーバによって表示されるネットワーク・バインディング文字列を使用して接続します。サーバに最初に接続したクライアントは 1 次クライアントであり,そのサーバに接続できる 2 次クライアントの数を制御します。

/KEEP

保持デバッガ (Kept Debugger) を起動します。保持デバッガには, 1 つのイメージを何度もデバッグしたり,デバッガを終了せずに相異なる一連のイメージをデバッグしたりできる Run/Rerun 機能があります。

DEBUG/KEEP コマンドは,保持デバッガを起動する唯一の方法です。

/RESUME (省略時の設定)

デバッグしているプログラムの実行を Ctrl/Y で中断した後,非保持デバッガを再起動します。(この場合,中断されたプログラムは, LINK コマンドの /NOTRACEBACK 修飾子を指定してリンクされたものであってはなりません。)

Ctrl/Y でプログラムの中断をしていない場合は, DEBUG/RESUME コマンドを実行しても何も起こりません。

/SERVER [=([BINDING_INFO=ファイル指定] [,PROTOCOLS=(プロトコル[,...])])]

DEBUG サーバを起動します。 DEBUG サーバには,同一ないしリモートの OpenVMS ノード上のクライアントからの,あるいはサポートされている Microsoft® Windows® プラットフォームが稼動する PC ノードからの,最大 30 までの同時接続が可能です。

省略可能な BINDING_INFO キーワードを指定する場合は,サーバ・バインディング識別文字列が書き込まれるファイル指定を指定します。このキーワードを指定しない場合は,ファイルは作成されません。

省略可能な PROTOCOLS キーワードを指定する場合は, DEBUG サーバに接続するために有効とするネットワーク・プロトコルを指定します。指定されたプロトコルだけが有効となります。このキーワードを指定しない場合は,すべてのプロトコルが有効となります。プロトコル引数には,次のキーワードのいずれか 1 つあるいは複数を指定することができます。

ALL
[NO]DECNET
[NO]TCP_IP
[NO]UDP

サーバに最初に接続したクライアントは 1 次クライアントとなります。 1 次クライアントの接続後に接続したクライアントは 2 次クライアントとなります。 1 次クライアントは,そのサーバに接続できる 2 次クライアントの数を制御します。

サーバは,一連の RPC バインディング文字列を表示して,クライアントがサーバに接続するために経由するポート番号を識別します。ポート番号は,識別文字列の最後の角括弧 ([]) の中に表示されます。

クライアントから接続する場合の最も簡単なポート識別文字は,サーバのノード名と角括弧に囲まれたポート番号で構成されます。次の例はすべて正しいバインディング識別文字列です。

NODNAM[1234]
NCACN_IP_TCP:16.32.16.25[1112]
16.32.16.25[1112]
NCACN_DNET_NSP:63.1004[RPC20A020DD0001]

注意

デバッグ・サーバを起動するには,権利データベースに DBG$ENABLE_SERVER 識別子を持っている必要があります。デバッグ・サーバを使用する場合は注意してください。一度デバッグ・サーバを起動すると,ネットワーク上の任意のクライアントがそのデバッグ・サーバに接続することができます。

システム管理者は,DBG$ENABLE_SERVER 識別子を付与する前に,権利データベースに対する書き込みアクセスを持つアカウントから DEBUG/SERVER コマンドを実行してこの識別子を作成しなければなりません。システム管理者は一度だけこれを行う必要があります。それ以降は,Authorize ユーティリティを起動して,権利データベースのユーザ・アカウントに DBG$ENABLE_SERVER 識別子を付与することができます。


#1

$ FORTRAN/DEBUG/NOOPTIMIZE WIDGET
$ LINK/DEBUG WIDGET
$ RUN WIDGET
                [ Debugger Banner and Version ] 
 
%DEBUG-I-INITIAL, language is FORTRAN, module set to WIDGET 
DBG>
 

FORTRAN コマンドと LINK コマンドの双方に /DEBUG 修飾子を指定して,デバッガ・シンボル・テーブル情報付きでプログラム WIDGET.FOR をコンパイルしています。このプログラムは,デバッグ情報付きでコンパイルおよびリンクされているため,RUN コマンドでプログラムが開始されると,イメージ・アクティベータによってデバッガが自動的に起動されます。デバッガが起動された時点では,プログラム・コードはまだ実行されません。

#2

$ FORTRAN/DEBUG/NOOPTIMIZE WIDGET
$ LINK/DEBUG WIDGET
$ RUN/NODEBUG WIDGET
  NAME: 
  NAME: 
  NAME:
^Y
$ DEBUG/RESUME
 
             [ Debugger Banner and Version ] 
 
  %DEBUG-I-INITIAL, language is FORTRAN, module set to WIDGET 
  DBG>
 

FORTRAN コマンドと LINK コマンドの双方に /DEBUG 修飾子を指定して,デバッガ・シンボル・テーブル情報付きでプログラム WIDGET.FOR をコンパイルしています。RUN コマンドでイメージ WIDGET.EXE の実行を開始しますが,ループしてしまって制御不能です。Ctrl/Y でプログラムに割り込みをかけ, DEBUG/RESUME コマンドで制御をデバッガに移します。

#3

$ CC/DEBUG/NOOPTIMIZE ECHOARGS
$ LINK/DEBUG ECHOARGS
$ ECHO == "$ sys$disk:[]echoargs.exe"
$ DEBUG/KEEP
                   [ Debugger Banner and Version ] 
 
DBG> RUN/COMMAND="ECHO"/ARGUMENTS="fa sol la mi"
%DEBUG-I-INITIAL, language is C, module set to ECHOARGS 
%DEBUG-I-NOTATMAIN, type GO to get to start of main program 
DBG> 
   .
   .
   .
DBG> RERUN/ARGUMENTS="fee fii foo fum"
%DEBUG-I-INITIAL, language is C, module set to ECHOARGS 
%DEBUG-I-NOTATMAIN, type GO to get to start of main program 
DBG> 
   .
   .
   .
DBG> RUN/ARGUMENTS="a b c" ECHOARGS
%DEBUG-I-INITIAL, language is C, module set to ECHOARGS 
%DEBUG-I-NOTATMAIN, type GO to get to start of main program 
DBG> 
 

CC コマンドと LINK コマンドの双方に /DEBUG 修飾子を指定して,デバッガ・シンボル・テーブル情報付きでプログラム ECHOARGS.C をコンパイルします。

シンボル定義コマンドで,デバッグ・セッション中に使用するフォーリン・コマンドを定義します。

DEBUG/KEEP コマンドは,保持デバッガを起動します。

最初の RUN コマンドは,/COMMAND 修飾子を使用してイメージ・ファイルを起動するフォーリン・コマンドを指定し, /ARGUMENTS 修飾子を使用して引数の文字列を指定します。

RERUN コマンドは同一イメージ・ファイルを再起動します。 /ARGUMENTS 修飾子を使用して引数に新しい文字列を指定します。

2 番目の RUN コマンドは新しいイメージ・ファイル,および新しい引数の文字列を指定します。

I64 システムでは,保持デバッガからヒープ・アナライザを起動します。

#4

$ debug/keep
DBG> run/heap 8queens
 

または,次のように入力します。

#5

$ debug/keep
DBG> run 8queens
 .
 .
 .
DBG> deactivate break/all
DBG> deactivate watch/all
DBG> deactivate trace/all
DBG> start heap_analyzer
DBG> activate break/all
DBG> activate watch/all
DBG> activate trace/all
 

この方法を使用するときは, START HEAP_ANALYZER コマンドでヒープ・アナライザを起動する前に,すべてのウォッチポイント,ブレークポイント,およびトレースポイントを非アクティブ化しなければなりません。この処理により,競合状態の発生を防止できます。ヒープ・アナライザを起動してから,ブレークポイント,ウォッチポイント,およびトレース・ポイントを再度アクティブ化します。

Alpha システムでは,保持デバッガからヒープ・アナライザを起動します。

#6

$  debug/keep
DBG> run/heap 8queens
 

VAX システムでは,次の PASCAL の例のようにして,ヒープ・アナライザを起動します。

#7

$ PASCAL/DEBUG/NOOPTIMIZE 8QUEENS
$ LINK/DEBUG 8QUEENS
$ DEFINE/USER/NAME=CONFINE LIBRTL SYS$LIBRARY:LIBRTL_INSTRUMENTED
$ RUN/NODEBUG 8QUEENS
 

PASCAL コマンドと LINK コマンドの双方に /DEBUG 修飾子を指定して,デバッガ・シンボル・テーブル情報付きでプログラム 8QUEENS.PAS をコンパイルします。

DEFINE コマンドにより,ヒープ・アナライザがメモリの割り当てと解放に関する情報収集用の LIBRTL にアクセスするようにします。

RUN/NODEBUG コマンドはヒープ・アナライザを起動しますが,デバッガは起動しません。

#8

$ DEBUG/SERVER=(PROTOCOLS=(TCP_IP,DECNET))
 
%DEBUG-I-SPEAK: TCP/IP: YES, DECnet: YES, UDP: NO 
%DEBUG-I-WATCH: Network Binding: ncacn_ip_tcp:16.32.16.25[1112] 
%DEBUG-I-WATCH: Network Binding: ncacn_dnet_nsp:63.1004[RPC20A020DD0001] 
%DEBUG-I-AWAIT: Ready for client connection... 

DEBUG/SERVER コマンドは,ネットワーク・プロトコルの TCP/IP および DECnet を指定して,デバッグ・サーバに接続します。バインディング文字列は TEMP.TMP ファイルに保存されることに注意してください。 TYPE コマンドを使用して,TEMP.TMP の内容を表示することができます。


目次 索引

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