前へ | 次へ | 目次 | 索引 |
EXIT と同様にデバッグ・セッションを終了するか,またはマルチプロセス・プログラムの 1 つまたは複数のプロセスを終了しますが,アプリケーション宣言終了ハンドラは実行不可能にします。コマンド・プロシージャまたは DO 句の中で使用し,プロセスを全く指定しないと,その時点でそのコマンド・プロシージャまたは DO 句が終了します。
QUIT [process-spec[,...]]
process-spec
(保持デバッガのみ。)現在デバッガの制御下にあるプロセスを指定します。次のいずれかの形式で指定します。
[%PROCESS_NAME]process-name スペースや小文字を含まないプロセス名。プロセス名にはワイルドカード文字(*)を含めることができる。 [%PROCESS_NAME] "process-name" スペースまたは小文字を含むプロセス名。二重引用符(")の代わりに,一重引用符を(')使用することもできる。 %PROCESS_PIDprocess_id プロセス識別子(PID,16 進数)。 [%PROCESS_NUMBER]process-number
(または %PROCprocess-number)デバッガの制御下に入ったときにプロセスに割り当てられた番号。新しい番号は,1 から順番に各プロセスに割り当てられる。EXIT コマンドまたは QUIT コマンドによってプロセスが終了しても,そのデバッグ・セッション中はその番号は再割り当てできる。プロセス番号は SHOW PROCESS コマンドの実行で表示される。プロセスは,組み込みシンボル %PREVIOUS_PROCESS および %NEXT_PROCESS によってインデックスづけできるように,循環リスト内に順序づけされる。 process-group-name DEFINE/PROCESS_GROUP コマンドで定義された,プロセスのグループを表すシンボル。 %NEXT_PROCESS デバッガの循環プロセス・リスト中で可視プロセスの次のプロセス。 %PREVIOUS_PROCESS デバッガの循環プロセス・リスト中で可視プロセスの前のプロセス。 %VISIBLE_PROCESS シンボル,レジスタ値,ルーチン呼び出し,ブレークポイントなどの検索時に現在のコンテキストになっているスタック,レジスタ・セット,およびイメージを持つプロセス。
すべてのプロセスを指定するためにワイルドカード文字のアスタリスク(*)を使用することもできます。
QUIT コマンドはプログラムの実行を引き起こさないこと,したがってプログラムでアプリケーション宣言終了ハンドラを実行しないこと以外は,EXIT コマンドと類似しています。デバッグ・セッションを終了するには,パラメータを全く指定しないでデバッガ・プロンプトに対し QUIT コマンドを入力します。この結果,デバッグ・セッションが順序正しく終了されます。つまり,デバッガの終了ハンドラが実行され(ログ・ファイルをクローズし,画面とキーパッドの状態を復元するなど),制御が DCL レベルに戻ります。そのあとは DCL コマンドの DEBUG や CONTINUE を入力してもプログラムのデバッグを続けることはできません(デバッガを再起動する必要があります)。
コマンド・プロシージャや DO 句での QUIT コマンドの使用
デバッガがコマンド・プロシージャの中で(パラメータを全く指定しないで)QUIT コマンドを実行すると,制御はそのコマンド・プロシージャを起動したコマンド・ストリームに戻ります。コマンド・ストリームは,端末,外側(当該コマンド・プロシージャを含んでいる側)のコマンド・プロシージャ,コマンドまたは画面ディスプレイ定義での DO 句とすることができます。たとえば,コマンド・プロシージャが DO 句の中から起動された場合には,制御はその DO 句に戻り,そこでデバッガはコマンド・シーケンスの中にあれば次のコマンドを実行します。
デバッガは DO 句の中で(パラメータを全く指定しないで)QUIT コマンドを実行する場合,その句にある残りのコマンドは無視し,プロンプトを表示します。
マルチプロセス・プログラムをデバッグする場合,QUIT コマンドを使用すればデバッグ・セッションを終了せずに,指定したプロセスを終了できます。プロンプトに対して QUIT コマンドを入力するか,それともコマンド・プロシージャまたは DO 句の中で QUIT コマンドを使用するかにかかわらず,同じ方法と動作が適用されます。
1 つまたは複数のプロセスを終了するには,それらのプロセスをパラメータとして指定して QUIT コマンドを入力します。この結果,指定されたプロセスのイメージが順序正しく終了されますが,それらのイメージに対応するアプリケーション宣言終了ハンドラは実行されません。その後は,指定したプロセスは SHOW PROCESS/ALL コマンドを実行しても表示されなくなります。
EXIT コマンドとは対照的に,QUIT コマンドを実行しても,プロセスの実行は開始されません。
関連コマンド
DISCONNECT
@(実行プロシージャ)
Ctrl/C
Ctrl/Y
Ctrl/Z
EXIT
RERUN
RUN
SET ABORT_KEY
SET PROCESS
#1 |
---|
DBG> QUIT $ |
このコマンドは,デバッグ・セッションを終了し,DCL レベルに戻ります。
#2 |
---|
all> QUIT %NEXT_PROCESS, JONES_3, %PROC 5 all> |
このコマンドを実行すると,マルチプロセス・プログラムの 3 つのプロセスが順序正しく終了します。つまり,プロセス・リスト内の可視プロセスの次のプロセス,プロセスJONES_3,プロセス 5 が終了します。指定されたプロセスが終了したあと,制御はデバッガに戻ります。
Alpha システムの場合(OpenVMS Alpha システム・コード・デバッガを Alpha オペレーティング・システム・コードのデバッグに使用している場合),Alpha オペレーティング・システム・コードを実行しているターゲット・マシンを再ブートし,システム・プログラムを実行(再実行)します。つまり,OpenVMS Alpha システム・コード・デバッガ環境では,REBOOT コマンドは RUN コマンドや RERUN コマンドと同じ働きをします。OpenVMS Alpha システム・コード・デバッガは,OpenVMS デバッガから起動するカーネル・デバッガです。
このコマンドを実行する前に,『Writing OpenVMS Alpha Device Drivers in C』の指示を完了していなければなりません。これらの指示には,Alpha デバイス・ドライバの作成,OpenVMS Alpha システム・コード・デバッガを起動するコマンドの設定,デバッグを可能にする CONNECT コマンドの実行などがあります。
また,OpenVMS デバッガを DEBUG/KEEP コマンドで起動していなければなりません。
REBOOT
OpenVMS Alpha System-Code Debugger の使用方法の詳細については,『Writing OpenVMS Alpha Device Drivers in C』を参照してください。関連コマンド
CONNECT
DISCONNECT
#1 |
---|
DBG> REBOOT |
このコマンドは,OpenVMS Alpha オペレーティング・システムをデバッグする予定のターゲット・マシンを再ブートし,プログラムを再実行します。
指定された回数一連のコマンドを実行します。
REPEAT language-expression DO(command[;...])
language-expression
現在設定されている言語で評価すると正の整数になる式を示します。command
デバッガ・コマンドを指定します。複数のコマンドを指定する場合,それぞれのコマンドをセミコロン(;)で区切らなければなりません。各コマンドを実行すると,デバッガはそのコマンド内の式の構文をチェックして,評価します。
REPEAT コマンドは FOR コマンドの単純な形式です。REPEAT コマンドは一連のコマンドを指定回数繰り返し実行します。ただし,FOR コマンドとは異なり,カウント・パラメータを設定するためのオプションは提供しません。関連コマンド
EXITLOOP
FOR
WHILE
DBG> REPEAT 10 DO(EXAMINE Y; STEP) |
このコマンド行は 2 つのコマンドからなるシーケンス(EXAMINE Y のあと STEP)を10 回実行するループを設定します。
現在デバッガの制御下にあるプログラムを再実行します。
注意
DCL コマンドの DEBUG/KEEP を使用してデバッグ・セッションを開始し,デバッガの RUN コマンドを実行しておくことが必要です。DCL コマンドの RUN filespec でデバッグ・セッションを開始した場合は,デバッガの RERUN コマンドは使用できません。
RERUN
/ARGUMENTS="arg-list"
引数のリストを指定します。引用符を指定する場合には,デバッガがその引用符を解析するときに引用を取り除くため,二重引用符を追加する必要があるかもしれません。引数を指定しないと,以前そのプログラムを実行または再実行したときに指定した引数が省略時の値として使用されます。/HEAP_ANALYZER
ワークステーション・ユーザにだけ適用されます。アプリケーションのメモリ使用状況を知るための機能であるヒープ・アナライザを起動します。ヒープ・アナライザの使用方法についての詳しい説明は,『デバッガ説明書』を参照してください。/SAVE(省略時の設定)
/NOSAVE
次に実行するプログラムのすべてのブレークポイント,トレースポイント,静的ウォッチポイントの現在の状態(有効か無効か)を保存するかどうかを制御します。/SAVE 修飾子を指定するとそれらの状態は保存され,/NOSAVE を指定すると保存されません。/SAVE が特定の非静的ウォッチポイントの状態を保存するか保存しないかは,メイン・プログラム・ユニット(実行が再開された場所)を基準とした,ウォッチ対象の変数の有効範囲によって決まります。
DCL コマンドのDEBUG/KEEP でデバッガを呼び出し,その結果デバッガの RUN コマンドを使用してプログラムのデバッグを開始した場合は,RERUN コマンドを使用して,現在デバッガの制御下にあるプログラムを再実行できます。RERUN コマンドはデバッグしていたイメージを終了したあと,デバッガの制御下のイメージを再開します。実行は,メイン・プログラム・ユニットが開始されると,デバッガの RUN コマンド,または DCL コマンドの RUN/DEBUG を実行した場合と同じように一時停止されます。
RERUN コマンドは現在デバッガの制御下にあるイメージと同じバージョンを使用します。デバッグ・セッションから同じプログラムの異なるバージョン,または別のプログラムをデバッグするには,RUN コマンドを使用します。
関連コマンド
RUN(debugger コマンド)
RUN(DCL コマンド)
(ACTIVATE,DEACTIVATE)BREAK
(ACTIVATE,DEACTIVATE)TRACE
(ACTIVATE,DEACTIVATE)WATCH
#1 |
---|
DBG> RERUN |
このコマンドは現在のプログラムを再実行します。省略時の状態では,デバッガはすべてのブレークポイント,トレースポイント,静的ウォッチポイントの現在の状態(有効か無効か)を保存します。
#2 |
---|
DBG> RERUN/NOSAVE |
このコマンドはブレークポイント,トレースポイント,ウォッチポイントの現在の状態を保存しないで現在のプログラムを再実行します。これは,RUN コマンドを使用してイメージ名を指定することと同じです。
#3 |
---|
DBG> RERUN/ARGUMENTS="fee fii foo fum" |
このコマンドは,現在のプログラムを新しい引数で返します。
デバッガの制御下でプログラムを実行します。
注意
DCL コマンドの DEBUG/KEEP を使用してデバッグ・セッションを開始しておくことが必要です。DCL コマンドの RUN filespec でデバッグ・セッションを開始した場合は,デバッガの RUN コマンドは使用できません。
RUN [program-image]
program-image
デバッグの対象となるプログラムの実行可能なイメージを指定します。/COMMAND=cmd-symbol 修飾子を使用している場合,イメージは指定できません。
/ARGUMENTS="arg-list"
引数のリストを指定します。引用符を指定する場合には,デバッガがその引用符を解析するときに引用を取り除くため,二重引用符を追加する必要があるかもしれません。/COMMAND="cmd-symbol"
プログラムを実行するための DCL フォーリン・コマンドを指定します。program-image パラメータを指定する場合,この修飾子は指定できません。
SET COMMAND コマンドで作成された DCL コマンド定義またはその他のコマンド定義は指定できません。
/HEAP_ANALYZER
ワークステーション・ユーザにだけ適用される。アプリケーションのメモリ使用状況を知るための機能であるヒープ・アナライザを起動します。ヒープ・アナライザの使用法についての詳しい説明は,『デバッガ説明書』を参照してください。/NEW
すでに実行しているプログラムを中断せずに,デバッガ制御下で新しいプログラムを実行します。
DCL コマンドの DEBUG/KEEP で呼び出した場合のデバッグ・セッション中であればいつでもデバッガの RUN コマンドを使用して,デバッガの制御下でプログラムを起動できます。RUN コマンドを実行したのがプログラムのデバッグの最中であれば,/NEW 修飾子を使用しないかぎり,プログラムはまず停止します。同じプログラムつまり,現在デバッガの制御下にあるプログラムの同じバージョンを再び実行するには,RERUN コマンドを使用します。RERUN コマンドを使用すれば,任意のブレークポイント,トレースポイント,静的ウォッチポイントの現在の状態(有効か無効か)を保存できます。
RUN コマンドまたは RERUN コマンドを使用して引数を渡す方法については,『デバッガ説明書』を参照してください。
デバッガの RUN コマンドに関する次の制限事項に注意してください。
- RUN コマンドが使用できるのは DCL コマンドの DEBUG/KEEP でデバッガを起動した場合だけです。
- RUN コマンドを使用して,実行中のプログラムにデバッガを接続することはできません。Ctrl/Y の説明を参照してください。
- DECnet リンクを介してデバッガの制御下にあるプログラムを実行することはできません。デバッグの対象となるイメージとデバッガの両方が同じノードになくてはなりません。
関連コマンド
RERUN
RUN(DCL コマンド)
Ctrl/Y-DEBUG(DCL コマンド)
DEBUG(DCL コマンド)
#1 |
---|
DBG> RUN EIGHTQUEENS Language: C, Module: EIGHTQUEENS |
このコマンドは EIGHTQUEENS プログラムをデバッガの制御下に置きます。
#2 |
---|
$ RUNPROG == "$ DISK3:[SMITH]MYPROG.EXE" $ DEBUG/KEEP ... DBG> RUN/COMMAND="RUNPROG"/ARGUMENTS="X Y Z" |
この例の最初の行は MYPROG.EXE という名前のイメージを実行するために(DCL レベルで)コマンド・シンボル RUNPROG を作成します。2 行目はデバッガを起動します。次にデバッガの RUN コマンドは MYPROG.EXE イメージをデバッガの制御下に置きます。/COMMAND 修飾子は以前に作成したコマンド・シンボル(この場合は RUNPROG)を指定し,/ARGUMENTS 修飾子は引数 X Y Z をイメージに引き渡します。
#3 |
---|
DBG> RUN/ARGUMENTS="X Y Z" MYPROG |
このコマンドは,プログラム MYPROG.EXE をデバッガの制御下に置いて,引数X Y Zを引き渡します。
前へ | 次へ | 目次 | 索引 |