HP OpenVMS Systems Documentation |
| 前へ | 次へ | 目次 | 索引 |
この例では,プロセス論理名 MEMO の割り当てを解除しています。
| #2 |
|---|
$ DEASSIGN/ALL |
この例では,ユーザ・モードおよびスーパバイザ・モードで作成された論理名の割り当てをすべて解除しています。ただし,コマンド・インタプリタによってエグゼクティブ・モードでプロセス論理名テーブルに登録されている論理名 (たとえば,SYS$INPUT,SYS$OUTPUT,SYS$ERROR,SYS$DISK,SYS$COMMAND など) は削除されません。
| #3 |
|---|
$ DEASSIGN/TABLE=LNM$PROCESS_DIRECTORY TAX |
この例では,論理名テーブル TAX とその下層のテーブルを削除します。論理名テーブルを削除するには,/TABLE=LNM$PROCESS_ DIRECTORY または /TABLE=LNM$SYSTEM_DIRECTORY 修飾子を指定しなければなりません。これは,すべてのテーブル名はこれらのディレクトリに格納されているためです。
| #4 |
|---|
$ ASSIGN USER_DISK: COPY $ SHOW LOGICAL COPY "COPY" = "USER_DISK:" (LNM$PROCESS_TABLE) $ DEASSIGN COPY |
この ASSIGN コマンドは,論理名 COPY を装置 USER_DISK と等価にし,プロセス論理名テーブルに置きます。 DEASSIGN コマンドは,その論理名を削除します。
| #5 |
|---|
$ DEFINE SWITCH: TEMP $ DEASSIGN SWITCH:: |
この例では,DEFINE コマンドで論理名 SWITCH: をプロセス論理名テーブルに登録しています。末尾のコロンは論理名の一部として保存されます。この論理名を削除するには,DEASSIGN コマンドに 2 つのコロンが必要です。これは,DEASSIGN コマンドが末尾のコロンを 1 つ削除してしまうため,論理名の文字を一致させるのにコロンがもう 1 つ必要となるからです。
| #6 |
|---|
$ ASSIGN/TABLE=LNM$GROUP DKA1: GROUP_DISK $ DEASSIGN/PROCESS/GROUP GROUP_DISK |
この例の ASSIGN コマンドは,論理名 GROUP_DISK をグループ論理名テーブルに登録します。 DEASSIGN コマンドの修飾子は矛盾していますが, /GROUP 修飾子が後に指定されているため,論理名はちゃんと削除されます。
| #7 |
|---|
$ ASSIGN DALLAS::USER_DISK: DATA . . . $ DEASSIGN DATA |
この ASSIGN コマンドは,DALLAS というリモート・ノードの USER_DISK という装置指定に対して,DATA という論理名を割り当てます。この後,DATA という論理名を参照すると, DALLAS というリモート・ノードの USER_DISK というディスクが参照されます。 DEASSIGN コマンドは,この DATA という論理名の割り当てを解除します。
プリンタ・キューまたはターミナル・キューに割り当てられている論理キューの割り当てを解除し,その論理キューを停止します。 DEASSIGN/QUEUE コマンドは,バッチ・キューには使用できません。キューに対する管理 (M) アクセス権が必要です。
DEASSIGN/QUEUE 論理キュー名[:]
論理キュー名[:]
割り当てを解除する論理キューの名前を指定します。
DEASSIGN/QUEUE コマンドを入力すると,論理キュー内のジョブは, ASSIGN/QUEUE コマンドでキューを別のプリント・キューまたは装置に再割り当てされるまで,待ち状態になります。
| #1 |
|---|
$ ASSIGN/QUEUE LPA0 ASTER . . . $ DEASSIGN/QUEUE ASTER $ ASSIGN/MERGE LPB0 ASTER |
この例の ASSIGN/QUEUE コマンドは,ASTER という論理キューを LPA0 というプリンタ・キューに割り当てます。その後,DEASSIGN/QUEUE コマンドで,この論理キューの割り当てを解除します。ASSIGN/MERGE コマンドは, ASTER にキュー登録されているジョブを,プリンタ・キュー LPB0 に再割り当てします。
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 の内容を表示することができます。
コマンド,またはプログラムの入力ストリームの先頭を示します。
DECK
DECK コマンドは,コマンドまたはプログラムの入力になるデータに印を付けます。 DECK コマンドを使用できるのは,入力データが必要なコマンドまたはプログラムを実行する要求の後だけです。コマンド・プロシージャでは,入力ストリーム内の任意のデータ・レコードの空白でない最初の文字がドル記号の場合,このコマンドが必要です。また,コマンド・プロシージャでは, DECK コマンドの前にドル記号を付けなければなりません。ドル記号は,入力レコードの最初の文字位置 ( カラム 1) になければなりません。
DECK コマンドは,単一データ・ストリームに対してだけファイルの終端 (EOF) 指示子を定義します。DECK コマンドを使用すると,ドル記号で始まるデータ・レコードを入力ストリームに入れることができます。入力ストリームに 1 つまたは複数のデータの集合を入れるには, DECK コマンドの後にそれぞれをEOF指示子で終了させたデータの集合を続けます。
/DOLLARS 修飾子で指定した EOF 指示子が検出されると, EOF 指示子は省略時の設定,つまりドル記号で始まるレコードに再設定されます。現在のコマンド・レベルの実際の EOF 指示子が検出された場合も,省略時の設定が再設定されます。
/DOLLARS[=文字列]
指定の 1 〜 15 文字の文字列をファイル終端 (EOF) 指示子として設定します。入力データ中に $EOD という文字列で始まるレコードが 1 つ以上含まれている場合には,文字列を指定しなければなりません。文字列に小文字や空白,あるいはタブが含まれる場合には,引用符 (" ") で囲みます。 /DOLLARS 修飾子を指定しない場合や,文字列を指定せずに /DOLLARS 修飾子を指定する場合には,ファイルの終端 (EOF) を示すために EOD コマンドを使用しなければなりません。
| #1 |
|---|
|
|
この例の Fortran および LINK コマンドは,プログラム A をコンパイルしリンクします。プログラム A が実行されると,論理装置 SYS$INPUT からプログラム A が読み込んだすべてのデータは,コマンド・ストリームから読み込まれたデータです。DECK コマンドは,入力ストリームのレコードの最初の文字位置 ( カラム 1) にドル記号を入れられることを示しています。 EOD コマンドは,データの終端 (end-of-file) を示します。
| #2 |
|---|
|
|
この例の CREATE コマンドは,入力ストリームに入力された行からコマンド・プロシージャ・ファイル TEST.COM を作成します。 DECL/DOLLARS コマンドは,パーセント記号 (%) が CREATE コマンドの EOF 指示子であることを示しています。これにより文字列 $EOD は入力レコードとして読み込まれ, RUN コマンドに対する入力の終わりを示します。
| 前へ | 次へ | 目次 | 索引 |