日本-日本語

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

OpenVMS マニュアル


≫ 

OpenVMS V8.3
ライブラリ

タイトルページ
目次
まえがき
第 1 章:デバッガ・コマンド・ディクショナリ概要
第 2 章:デバッガ・コマンド・ディクショナリ
索引
PDF
OpenVMS ホーム

HP OpenVMS
デバッガ・コマンド・ディクショナリ


目次 索引




定義済みとユーザ定義の画面モード・ウィンドウの名前と画面位置を示します。

注意

このコマンドは,デバッガへの HP DECwindows Motif for OpenVMS ユーザ・インタフェースでは使用できません。


形式

SHOW WINDOW [window-name[,...]]


パラメータ



windowname

画面ウィンドウ定義の名前を指定します。名前を指定しない場合またはワイルドカード文字のアスタリスク (*) を単独で指定する場合,すべてのウィンドウ定義がリストされます。ウィンドウ名の中ではワイルドカードを使用できます。 /ALL 修飾子を指定する場合,ウィンドウ定義名は指定できません。

修飾子



/ALL

すべてのウィンドウ定義をリストします。

説明

関連コマンド
(SHOW,CANCEL) DISPLAY
(SET,SHOW) TERMINAL
(SET,CANCEL) WINDOW
SHOW SELECT


DBG> SHOW WINDOW LH*,RH*
window LH1 at (1,11,1,40) 
window LH12 at (1,23,1,40) 
window LH2 at (13,11,1,40) 
window RH1 at (1,11,42,39) 
window RH12 at (1,23,42,39) 
window RH2 at (13,11,42,39)
DBG>

このコマンドは LH または RH で始まる名前を持つすべての画面ウィンドウ定義の名前と画面部を表示します。




サブプロセスを作成し,ユーザがデバッグ・セッションを終了したりデバッグ・コンテキストを失ったりせずに,DCL コマンドを実行できるようにします。

注意

このコマンドは,デバッガへの HP DECwindows Motif for OpenVMS ユーザ・インタフェースでは使用できません。


形式

SPAWN [DCL-command]


パラメータ



DCL-command

サブプロセスで実行する DCL コマンドを指定します。 DCL コマンドが終了すると,制御はデバッグ・セッションに戻ります。

DCL コマンドを指定しないと,サブプロセスが作成され, DCL コマンドを入力できるようになります。作成されたプロセスからログ・アウトするか,(DCL コマンドの ATTACH を使用して ) 親プロセスに接続すると,デバッグ・セッションを継続できるようになります。

DCL コマンドにセミコロンが含まれている場合には,そのコマンドを二重引用符 (") で囲まなければなりません。セミコロンがない場合には,セミコロンはデバッガ・コマンドの区切り文字と解釈されます。文字列に二重引用符をいれるには,二重引用符を 2 つ続けて入力します ("")。


修飾子



/INPUT=file-spec

作成されたサブプロセスで実行される 1 つまたは複数の DCL コマンドを含む入力 DCL コマンド・プロシージャを指定します。省略時のファイル型は .COM です。SPAWN コマンドで DCL コマンド文字列を指定し,/INPUT で入力ファイルを指定すると,入力ファイルの前にコマンド文字列が処理されます。入力ファイルの処理が完了したあと,サブプロセスが終了します。ファイル指定にはワイルドカード文字のアスタリスク (*) は使用できません。

/OUTPUT=file-spec

指定されたファイルに SPAWN 操作からの出力を書き込みます。省略時のファイル型は .LOG です。ファイル指定にはワイルドカード文字のアスタリスク (*) は使用できません。

/WAIT (省略時の設定)



/NOWAIT

サブプロセスの実行中にデバッグ・セッション ( 親プロセス ) を中断するかどうかを制御します。/WAIT 修飾子 ( 省略時の設定 ) を指定すると,サブプロセスが終了するまでデバッグ・セッションは中断されます。制御が親プロセスに戻るまでデバッガ・コマンドは入力できません。

/NOWAIT 修飾子を指定すると,サブプロセスがデバッグ・セッションと並行して実行されます。サブプロセスの実行中でもデバッガ・コマンドは入力できます。/NOWAIT を使用する場合には,SPAWN コマンドといっしょに DCL コマンドも指定してください。これで,DCL コマンドがサブプロセスで実行されるようになります。作成されたサブプロセスの完了を通知するメッセージが表示されます。

保持デバッガ ( つまり,DEBUG/KEEPコマンドで起動されたデバッガ ) は,SPAWN/NOWAIT コマンドによって実行される場合に,親プロセスと I/O チャネルを共用します。このため, HP DECwindows Motif for OpenVMS ユーザ・インタフェースでは,DECterm 上でリターン・キーを 2 回押さなければなりません。デバッガは,デバッガ・バージョン番号がコマンド・ビューに表示された後に,DECterm から実行されます。

オプションでは,次の方法で保持デバッガを実行できます。


 $ DEFINE DBG$INPUT NL: 
 $ SPAWN/NOWAIT RUN DEBUG/KEEP 


説明

SPAWN コマンドは DCL コマンドの SPAWN と全く同じように働きます。デバッグ・セッションを終了したり現在のデバッグ・コンテキストを失ったりせずにファイルの編集,プログラムのコンパイル,メールの読み込みなどを行えます。

さらに,DCL コマンドの SPAWN を実行することもできます。DCL は 2 番目の SPAWN コマンドを,そのコマンドで指定された修飾子も含めて処理します。

関連コマンド

ATTACH

#1

DBG> SPAWN
$

この例は,パラメータを指定されていない SPAWN コマンドが DCL レベルでサブプロセスを作成することを示します。これで DCL コマンドを入力することができます。デバッガのプロンプトに戻るにはログ・アウトします。

#2

DBG> SPAWN/NOWAIT/INPUT=READ_NOTES/OUTPUT=0428NOTES

このコマンドはデバッグ・セッションと並行して実行されるサブプロセスを作成します。このサブプロセスは DCL コマンド・プロシージャのREAD_NOTES.COM を実行します。作成された操作からの出力は0428NOTES.LOG ファイルに書き込まれます。

#3

DBG> SPAWN/NOWAIT SPAWN/OUT=MYCOM.LOG @MYCOM

このコマンドはデバッグ・セッションと並行して実行されるサブプロセスを作成します。このサブプロセスは DCL コマンド・プロシージャ MYCOML.COM を実行するためにもう 1 つ別のサブプロセスを作成します。その操作からの出力はMYCOM.LOG ファイルに書き込まれます。




ヒープ・アナライザを起動して,ヒープ・メモリの問題を診断します。

注意

ヒープ・アナライザは,DECwindows ディスプレイを必要とします。


形式

START HEAP_ANALYZER [integer]


説明

デバッグ対象イメージのメモリ使用状況をグラフィカルに表示する,ヒープ・アナライザを起動します。ヒープ・アナライザのメイン・ウィンドウが表示されると,現在ロードされているイメージのデータがヒープ・アナライザに表示されます。デバッガのコマンド・プロンプト (DBG>) に戻るには,ヒープ・アナライザの「Start」ボタンを押します。

注意

START HEAP_ANALYZER コマンドを入力する前に発生したヒープ・メモリ操作は,ヒープ・アナライザには記録されません。すべてのヒープ・メモリ操作を記録するには,監視対象のイメージが動作し始めてすぐにヒープ・アナライザを起動してください。

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

関連コマンド

RUN
RERUN

#1

DBG> START HEAP_ANALYZER
 

ヒープ・アナライザを起動してデバッグ対象プログラムのメモリ使用状況をグラフィカルに表示します。




次の行または命令,あるいは他に指定された記憶位置に達するまでプログラムを実行します。

形式

STEP [integer]


パラメータ



integer

実行するステップ単位 (行,命令など) の数を指定する 10 進整数。このパラメータを省略すると,デバッガは 1 つのステップ単位を実行します。

修飾子



/BRANCH

次の分岐命令までプログラムを実行します。STEP/BRANCH は SET BREAK/TEMPORARY/BRANCH;GO と同じ働きをします。

/CALL

次の呼び出しまたは復帰命令までプログラムを実行します。STEP/CALL は SET BREAK/TEMPORARY/CALL;GO と同じ働きです。

/EXCEPTION

もしあれば,次の例外までプログラムを実行します。STEP/EXCEPTION は SET BREAK/TEMPORARY/EXCEPTION;GO と同じ働きです。例外が発生しないと, STEP/EXCEPTION は GO と同じ働きになります。

/INSTRUCTION



/INSTRUCTION=(opcode[,...])

命令コードが指定されないと,次の命令までプログラムを実行します。 STEP/INSTRUCTION は SET BREAK/TEMPORARY/INSTRUCTION;GO と同じ働きです。

VAX プロセッサでは,1 つ以上の opcode を指定できます。デバッガは, opcode がリストに指定されている次の命令まで,プログラムを実行します。次のコマンドの結果は同じになります。


DBG> STEP/INSTRUCTION=(opcode[,...]) 
DBG> SET BREAK/TEMPORARY/INSTRUCTION=(opcode[,...]);GO 



/INTO

ルーチン呼び出しで実行が現在中断されている場合,STEP/INTO はそのルーチンの先頭までプログラムを実行します (そのルーチン内の命令をステップ実行する)。そうでない場合には,STEP/INTO は修飾子が指定されていない STEP と同じ働きです。/INTO 修飾子は /OVER (省略時の動作)とは逆になります。

注意

Alpha プロセッサで,例外ブレークで実行が停止された場合には, STEP/INTO は制御をユーザ例外ハンドラに渡しません。ハンドラにブレークポイントを設定することにより,ハンドラ内で実行を停止してください。

STEP/INTO の動作は, /[NO]JSB,/[NO]SHARE,/[NO]SYSTEM 修飾子を使用して変更することができます。

/JSB



/NOJSB

(VAX のみ) 前回の SET STEP INTO コマンドまたは現在の STEP /INTO コマンドを修飾します。

ルーチン呼び出しで実行が現在中断されていて,そのルーチンがJSB 命令で呼び出されている場合,STEP/INTO/NOJSB はSTEP/OVER と同じ働きです。そうでない場合, STEP/INTO/NOJSB はSTEP/INTO と同じ働きになります。

前回の SET STEP NOJSB コマンドを上書きするには STEP/INTO/JSB コマンドを使用します。STEP/INTO/JSBを指定すると,STEP/INTO はCALL 命令で呼び出されたルーチン内の命令だけでなく,JSB 命令で呼び出されたルーチン内の命令もステップ実行できるようになります。

/JSB 修飾子は DIBOL 以外のすべての言語の省略時の設定です。DIBOL の場合, /NOJSB 修飾子が省略時の設定です。DIBOL では,アプリケーション宣言ルーチンは CALL 命令で呼び出され,DIBOL 実行時ライブラリ・ルーチンはJSB 命令で呼び出されます。

/LINE

ソース・コードの次の行までプログラムを実行します。ただし,デバッガはコンパイルの結果,実行可能なコードにならないソース行 (たとえば,コメント行)はスキップします。STEP/LINE は SET BREAK/TEMPORARY/LINE;GO と同じ働きです。これがすべての言語の省略時の設定です。

/OVER

ルーチン呼び出しで実行が現在中断されている場合,STEP/OVER はそのルーチンの復帰命令まで,その命令も含めて実行します (そのルーチンを1 ステップとして実行します)。/OVER 修飾子は省略時の動作であり,/INTO とは逆になります。

注意

Alpha プロセッサでは,ルーチン呼び出しによってループを含むソース行で実行が中断されると,STEP/OVER は呼び出されたルーチンにステップします。次のプログラム文にステップするには,その文に一時的なブレークポイントを設定し,GO と入力します。



/RETURN

実行が現在中断されているルーチンをその復帰命令まで (つまり,制御を呼び出し元ルーチンに戻す直前のポイントに至るまで) 実行します。この結果,復帰命令がルーチンの呼び出しフレームを呼び出しスタックから削除する前にローカル環境をチェックできます (たとえば,ローカル変数の値を獲得できます)。STEP/RETURN はSET BREAK/TEMPORARY/RETURN;GO と同じ働きです。

STEP/RETURN n は呼び出しスタックの n レベルまでプログラムを実行します。

/SEMANTIC_EVENT

(Alpha のみ) プログラムを次のセマンティック・イベントに実行します。

STEP/SEMANTIC_EVENTは,デバッグの最適化されたコードを簡素化します (説明の項を参照)。

/SHARE (省略時の設定)



/NOSHARE

前回の SET STEP INTO コマンドまたは現在の STEP/INTO コマンドを修飾します。

共用可能イメージ・ルーチンへの呼び出しで実行が現在中断されている場合, STEP/INTO/NOSHARE は STEP/OVER と同じ働きです。そうでない場合, STEP/INTO/NOSHARE は STEP/INTO と同じ働きになります。

前回の SET STEP NOSHARE コマンドを上書きするには,STEP/INTO/SHARE を使用します。STEP/INTO/SHARE を指定すると,STEP/INTO は他の種類のルーチン内だけでなく,共用可能イメージ・ルーチン内の命令もステップ実行できるようになります。

/SILENT



/NOSILENT (省略時の設定)

STEP の完了後,"stepped to..." メッセージと現在の記憶位置のソース行を表示するかどうかを制御します。 /NOSILENT 修飾子はメッセージを表示することを指定します。/SILENT 修飾子はメッセージとソース行を表示しないことを指定します。/SILENT 修飾子を指定すると,/SOURCE は上書きされます。

/SOURCE (省略時の設定)



/NOSOURCE

STEP の完了後,現在の記憶位置のソース行を表示するかどうかを制御します。 /SOURCE 修飾子はソース行を表示することを指定します。/NOSOURCE 修飾子はソース行を表示しないことを指定します。/SILENT 修飾子を指定すると,/SOUR CE は上書きされます。SET STEP [NO]SOURCE コマンドも参照してください。

/SYSTEM (省略時の設定)



/NOSYSTEM

前回の SET STEP INTO コマンドまたは現在の STEP/INTO コマンドを修飾します。

(P1 空間内の) システム・ルーチンへの呼び出しで実行が現在中断されている場合, STEP/INTO/NOSYSTEM は STEP/OVER と同じ働きです。そうでない場合, STEP/INTO/NOSYSTEM は STEP/INTO と同じ働きです。

前回の SET STEP NOSYSTEM コマンドを上書きするには,STEP/INTO/SYSTEM を使用します。STEP/INTO/SYSTEM を指定すると,STEP/INTO は他の種類のルーチン内だけでなく,システム・ルーチン内の命令もステップ実行できるようになります。


説明

STEP コマンドはプログラムを実行するために使用できる 4 つのデバッガ・コマンドの 1 つです (他の 3 つは CALL,EXIT,GO です)。

STEP コマンドの動作は次の要因に依存します。

  • 前回の SET STEP コマンドで設定された省略時の STEP モード (ただし,設定されている場合)。

  • STEP コマンドで指定された修飾子 (ただし,指定されている場合)。

  • STEP コマンドのパラメータとして指定されたステップ単位の数 (ただし,指定されている場合)。

それまでに SET STEP コマンドを入力していない場合,修飾子もパラメータも指定せずに STEP コマンドを入力すると,デバッガは次の省略時の動作を行います。

  1. ソース・コードを 1 行実行する (省略時の設定は STEP/LINE)。

  2. "stepped to..."メッセージを発行することにより実行が完了したことを通知する (省略時の設定は STEP/NOSILENT)。

  3. 実行が中断されているソース・コードの行を表示する (省略時の設定は STEP/SOURCE)。

  4. プロンプトを表示する。

次の修飾子は命令をステップ実行する記憶位置に影響します。

/BRANCH
/CALL
/EXCEPTION
/INSTRUCTION
/INSTRUCTION=(opcode[,...]) (VAX のみ)
/LINE
/RETURN
/SEMANTIC_EVENT (Alpha のみ)

次の修飾子は 1 つのステップの完了時にどのような出力になるかに影響します。

/[NO]SILENT
/[NO]SOURCE

次の修飾子はルーチン呼び出し時に何が起きるかに影響します。

/INTO
/[NO]JSB (VAX のみ)
/OVER
/[NO]SHARE
/[NO]SYSTEM

同じ修飾子を指定して STEP コマンドを複数入力する予定ならば,最初に SET STEP コマンドを使用して新しい省略時の修飾子を設定することができます (たとえば,SET STEP INTO, NOSYSTEM と指定すれば,STEP コマンドは STEP/INTO/NOSYSTEM と同じ働きをするようになります)。この結果,STEP コマンドを指定するときにこれらの修飾子を使用する必要がなくなります。他の修飾子を指定することにより,1 つの STEP コマンドが継続している間,現在の省略時の修飾子を上書きすることができます。現在のSTEP コマンドの省略時の設定を示すには,SHOW STEP コマンドを使用します。

SET BREAK/EXCEPTION コマンドまたは STEP/EXCEPTION コマンドを実行した結果,例外ブレークポイントが検出されると,アプリケーション宣言条件ハンドラが起動される前に実行は中断されます。そのあと,STEP コマンドで実行を再開すると,デバッガは例外を再びシグナル通知し,条件ハンドラがあればその先頭までプログラムは実行されます (条件ハンドラ内の命令がステップ実行されます)。

Alphaシステムでは,プログラムが/OPTIMIZEを使用してコンパイルされた場合は, STEP/SEMANTIC_EVENTおよびSET STEP SEMANTIC_EVENTコマンドを使用してセマンティック・ステップ・モードを使用することができます。最適化されたコードをデバッグしている場合は,ソース・プログラムの明らかな記憶位置は,同じ行が繰り返し現れる状態で前後にバウンドする傾向があります。セマンティック・ステップ・モードでは,プログラムは,プログラム内の次のポイントまで実行します。次のポイントでは,顕著な効果(セマンティック・イベント)が現れます。

セマンティック・イベントは次のうちの 1 つです。

  • データ・イベント --- ユーザへの割り当てが可能

  • 制御イベント --- 呼び出し以外の条件付きまたは条件なしの転送の制御で,制御フローの決定

  • 呼び出しイベント --- 呼び出し(ステップされないルーチン)または呼び出しからの戻り

すべての割り当て,転送制御,または呼び出しがセマンティック・イベントというわけではありません。主な例外は次のようになります。

  • 2 つの命令が,複雑な値または X 浮動の値に割り当てる必要がある場合は,最初の命令だけがセマンティック・イベントとして扱われます。

  • あるケースまたは選択構造を実行する判断ツリーの分岐など,単一の上位レベル構造の一部である分岐が複数ある場合は,最初のイベントだけがセマンティック・イベントとして扱われます。

  • 一種の文字列または記憶域のコピー操作を処理するOTS$MOVEへの呼び出しなどの,コンパイラ指定のヘルプ・ルーチンであるルーチンに呼び出しが作成された場合は,呼び出しはセマンティック・イベントとはみなされません。呼び出しの際に,制御は終了しません。
    ルーチンにステップするには,次のいずれかを行わなければなりません。

    • ルーチン・エントリ・ポイントにブレークポイントを設定するか,または

    • 一連のSTEP/INSTRUCTIONコマンドを使用して関連する呼び出しに到達した後に, STEP/INSTRUCTION/INTOを使用して呼び出されたルーチンに入ります。

  • 同じ行番号で,1 行につき 1 つ以上の潜在的なセマンティック・イベントがある場合は,最初のイベントだけがセマンティック・イベントとして扱われます。

STEP/SEMANTIC_EVENTコマンドは,ブレークポイントが次のセマンティック・イベントに設定されるようにします。実行は,次のイベントに進みます。異なる行および文のすべての番号部分は,進行を妨げられすに,方法に従って実行される可能性があります。セマンティック・イベントが到達した場合(つまり,イベントに対応する命令が到達しているが,実行されていない場合)実行は中断されます(STEP/LINEを使用する場合の,次行への到達と似ています)。


目次 索引

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