[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]

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

この章では,アルファベット順にデバッガ・コマンドを説明しています。

@ (Execute Procedure)

デバッガ・コマンド・プロシージャを実行します。

フォーマット

    @file-spec [parameter[, . . . ]]

パラメータ

file-spec

実行の対象となるコマンド・プロシージャを指定します。完全ファイル指定の中で指定されていない部分については, デバッガは,最新のSET ATSIGN コマンドで設定されたファイル指定があればそれを使用します。 ファイル指定の欠けている部分がSET ATSIGNコマンドで設定されていなかった場合には, デバッガは省略時のファイル指定としてSYS$DISK:[]DEBUG.COM を割り当てます。file-specには論理名を指定できます。

parameter

コマンド・プロシージャに渡すパラメータを指定します。パラメータにはアドレス式, 現在の言語での値式,デバッガ・コマンドを指定できます。 コマンドは二重引用符(")で囲む必要があります。DCLの場合とは異なり, 各パラメータはコンマで区切らなくてはなりません。また,コマンド・ プロシージャの中にある仮パラメータ宣言と同じ数のパラメータを渡せます。 コマンド・プロシージャへのパラメータの引き渡しについての詳しい説明は,DECLARE コマンドを参照してください。

説明

デバッガ・コマンド・プロシージャには,他の実行プロシージャ(@) コマンドを含めたどのデバッガ・コマンドも指定できます。デバッガはEXIT コマンドまたはQUITコマンドに到達するか,コマンド・プロシージャが終るまで, コマンド・プロシージャのコマンドを実行します。コマンド・ プロシージャの実行が終了すると,デバッガはコマンド・プロシージャを起動したコマンド・ ストリームに制御を戻します。この場合のコマンド・ ストリームとは端末,外側(当該コマンド・プロシージャを含んでいる) のコマンド・プロシージャ,SET BREAKなどのコマンド内のDO句,画面表示定義の中のDO 句などです。

省略時の設定では,コマンド・プロシージャから読み込まれたコマンドはエコーバックされません。SET OUTPUT VERIFY コマンドを入力すると,コマンド・ プロシージャから読み込まれたコマンドはすべて,DBG$OUTPUTによる指定に従い, 現在の出力装置にエコーバックされます(省略時の出力装置はSYS$OUTPUT) 。

コマンド・プロシージャへのパラメータの引き渡しについての詳しい説明は,DECLARE コマンドを参照してください。

関連コマンド


DECLARE
(SET,SHOW) ATSIGN
SET OUTPUT [NO]VERIFY
SHOW OUTPUT

    DBG> SET ATSIGN USER:[JONES.DEBUG].DBG
    DBG> SET OUTPUT VERIFY
    DBG> @CHECKOUT
    %DEBUG-I-VERIFYICF, entering command procedure CHECKOUT
     SET MODULE/ALL
     SET BREAK SUB1
     GO
    break at routine PROG5\SUB2
     EXAMINE X
    PROG5\SUB2\X:  376
         . . .
    %DEBUG-I-VERIFYICF, exiting command procedure MAIN
    DBG>
    
    この例の,SET ATSIGNコマンドは,デバッガ・コマンド・プロシージャが省略時の設定ではUSER:[JONES.DEBUG] の中にあり,ファイル・タイプとして.DBG を持つように設定しています。@CHECKOUTコマンドはコマンド・プロシージャUSER:[JONES.DEBUG]CHECKOUT.DBG を実行します。SET OUTPUT VERIFYコマンドが指定されているため,デバッガは@CHECKOUTコマンドの中のコマンドをエコーバックします。

ACTIVATE BREAK

以前に無効に設定したブレークポイントを有効にします。

フォーマット

    ACTIVATE BREAK   [address-expression[, . . . ]]

パラメータ

address-expression

有効にするブレークポイントを指定します。ワイルドカード文字のアスタリスク(*) は使用できません。代わりに/ALL修飾子を使用してください。/EVENT ,/PREDEFINED,/USER以外の修飾子を使用する場合は,アドレス式は指定できません。

修飾子

/ACTIVATING

マルチプロセス・デバッグ構成の場合(DBG$PROCESSの値がMULTIPROCESS の場合)に指定できます。前回のSET BREAK/ACTIVATINGコマンドで設定されたブレークポイントを有効にします。

/ALL

省略時の設定では,すべてのユーザ定義ブレークポイントを有効にします。/PREDEFINED といっしょに使用すると,定義済みブレークポイントはすべて有効になりますが, ユーザ定義ブレークポイントは有効になりません。 すべてのブレークポイントを有効にするには/ALL/USER/PREDEFINEDを使用します。

/BRANCH

前回のSET BREAK/BRANCHコマンドで設定されたブレークポイントを有効にします。

/CALL

前回のSET BREAK/CALLコマンドで設定されたブレークポイントを有効にします。

/EVENT=event-name

前回のSET BREAK/EVENT=event-nameコマンドで設定されたブレークポイントを有効にします。 イベント名(および必要であればアドレス式) はSET BREAK/EVENTコマンドで指定したとおりに指定してください。

現在のイベント機能とそれに対応するイベント名を表示するには,SHOW EVENT_FACILITYコマンドを使用します。

/EXCEPTION

前回のSET BREAK/EXCEPTIONコマンドで設定されたブレークポイントを有効にします。

/HANDLER

前回のSET BREAK/HANDLERコマンドの作用を取り消します。

/INSTRUCTION

前回のSET BREAK/INSTRUCTIONコマンドで設定されたブレークポイントを有効にします。

/LINE

前回のSET BREAK/LINEコマンドで設定されたブレークポイントを有効にします。 この修飾子を指定する場合は,アドレス式は指定できません。

/PREDEFINED

ユーザ定義ブレークポイントにはまったく影響を及ぼさずに, 指定の定義済みブレークポイントを有効にします。/ALLといっしょに使用すると, 定義済みブレークポイントがすべて有効になります。

/SYSEMULATE

(Alphaのみ)前回のSET BREAK/SYSEMULATEコマンドによって設定されたブレークポイントを有効にします。

/TERMINATING

前回のSET BREAK/TERMINATINGコマンドで設定されたブレークポイントを有効にします。

/UNALIGNED_DATA

(Alphaのみ)前回のSET BREAK/UNALIGNED_DATAコマンドで設定されたブレークポイントを有効にするか, またはDEACTIVATE /UNALIGNED_ DATAコマンドにより無効になっていたブレークポイントを再度有効にします。

/USER

定義済みブレークポイントにはまったく影響を及ぼさずに指定のユーザ定義ブレークポイントを有効にします。/ALL といっしょに使用すると, すべてのユーザ定義ブレークポイントが有効になります。

/VECTOR_INSTRUCTION

(VAXのみ)前回のSET BREAK/VECTOR_INSTRUCTIONコマンドで設定されたブレークポイントを有効にします。

説明

ユーザ定義ブレークポイントはSET BREAKコマンドで設定すると有効になります。 定義済みブレークポイントは省略時の設定で有効になります。DEACTIVATE BREAK を使用して無効にした1つまたは複数のブレークポイントを有効にするには,ACTIVATE BREAK コマンドを使用します。

ブレークポイントを有効にしたり無効にしたりすることにより,プログラムの実行や再実行のときに, ブレークポイントを取り消して再設定する手間をかけずに, ブレークポイントを使用したり使用しなかったりすることができます。 省略時の設定でRERUNコマンドを実行すると,すべてのブレークポイントの現在の状態( 有効か無効か)が保存されます。

有効や無効にするのはユーザ定義ブレークポイントと定義済みブレークポイントのどちらか一方でも両方でもかまいません。 ブレークポイントが有効になっているかを確かめるには,SHOW BREAK コマンドを使用します。

関連コマンド


CANCEL ALL
RERUN
(SET,SHOW,CANCEL,DEACTIVATE) BREAK
(SET,SHOW) EVENT_FACILITY

  1. DBG> ACTIVATE BREAK MAIN\LOOP+10
    
    このコマンドはアドレス式MAIN\LOOP+10で設定されたユーザ定義ブレークポイントを有効にします。

  2. DBG> ACTIVATE BREAK/ALL
    
    このコマンドはすべてのユーザ定義ブレークポイントを有効にします。

  3. DBG> ACTIVATE BREAK/ALL/USER/PREDEFINED
    
    このコマンドはユーザ定義ブレークポイントと定義済みブレークポイントの両方を含めたすべてのブレークポイントを有効にします。

ACTIVATE TRACE

以前に設定したあと無効にしたトレースポイントを有効にします。

フォーマット

    ACTIVATE TRACE   [address-expression[, . . . ]]

パラメータ

address-expression

有効にするトレースポイントを指定します。ワイルドカード文字のアスタリスク(*) は使用できません。代わりに/ALL修飾子を使用してください。/EVENT ,/PREDEFINED,/USER以外の修飾子を使用する場合は,アドレス式は指定できません。

修飾子

/ACTIVATING

マルチプロセス・デバッグ構成の場合(DBG$PROCESSの値がMULTIPROCESS の場合)に指定できます。前回のSET TRACE/ACTIVATINGコマンドで設定されたトレースポイントを有効にします。

/ALL

省略時の設定では,すべてのユーザ定義トレースポイントを有効にします。/PREDEFINED といっしょに使用すると,定義済みトレースポイントはすべて有効になりますが, ユーザ定義トレースポイントは有効になりません。 すべてのトレースポイントを有効にするには/ALL/USER/PREDEFINEDを使用します。

/BRANCH

前回のSET TRACE/BRANCHコマンドで設定されたトレースポイントを有効にします。

/CALL

前回のSET TRACE/CALLコマンドで設定されたトレースポイントを有効にします。

/EVENT=event-name

前回のSET TRACE/EVENT=event-nameコマンドで設定されたトレースポイントを有効にします。 イベント名(および必要であればアドレス式) はSET TRACE/EVENTコマンドで指定したとおりに指定してください。

現在のイベント機能とそれに対応するイベント名を表示するには,SHOW EVENT_FACILITYコマンドを使用します。

/EXCEPTION

前回のSET TRACE/EXCEPTIONコマンドで設定されたトレースポイントを有効にします。

/INSTRUCTION

前回のSET TRACE/INSTRUCTIONコマンドで設定されたトレースポイントを有効にします。

/LINE

前回のSET TRACE/LINEコマンドで設定されたトレースポイントを有効にします。

/PREDEFINED

ユーザ定義トレースポイントにはまったく影響を及ぼさずに指定の定義済みトレースポイントを有効にします。/ALL といっしょに使用すると, 定義済みトレースポイントがすべて有効になります。

/TERMINATING

前回のSET TRACE/TERMINATINGコマンドで設定されたトレースポイントを有効にします。

/USER

定義済みトレースポイントにはまったく影響を及ぼさずに指定のユーザ定義トレースポイントを有効にします。/ALL 修飾子を使用すると, ユーザ定義トレースポイントがすべて有効になります。

/VECTOR_INSTRUCTION

(VAXのみ)前回のSET TRACE/VECTOR_INSTRUCTIONコマンドで設定されたトレースポイントを有効にします。

説明

ユーザ定義トレースポイントはSET TRACEコマンドで設定すると有効になります。 定義済みトレースポイントは省略時の設定で有効になります。DEACTIVATE TRACE を使用して無効にした1つまたは複数のトレースポイントを有効にするにはACTIVATE TRACE コマンドを使用します。

トレースポイントを有効にしたり無効にしたりすることにより,プログラムの実行や再実行のときに, トレースポイントを取り消して再設定する手間をかけずに, トレースポイントを使用したり使用しなかったりすることができます。 省略時の設定でRERUNコマンドを実行すると,すべてのトレースポイントの現在の状態( 有効か無効か)が保存されます。

有効や無効にするのはユーザ定義トレースポイントと定義済みトレースポイントのどちらか一方でも両方でもかまいません。 トレースポイントが有効になっているかを確かめるには,SHOW TRACE コマンドを使用してください。

関連コマンド


CANCEL ALL
RERUN
(SET,SHOW) EVENT_FACILITY
(SET,SHOW,CANCEL,DEACTIVATE) TRACE

  1. DBG> ACTIVATE TRACE MAIN\LOOP+10
    
    このコマンドはMAIN\LOOP+10の位置にあるユーザ定義トレースポイントを有効にします。

  2. DBG> ACTIVATE TRACE/ALL
    
    このコマンドはユーザ定義トレースポイントをすべて有効にします。

ACTIVATE WATCH

以前に設定したあと無効にしたウォッチポイントを有効にします。

フォーマット

    ACTIVATE WATCH   [address-expression[, . . . ]]

パラメータ

address-expression

有効にするウォッチポイントを指定します。高級言語を使用している場合, これは通常,変数の名前になります。ワイルドカード文字のアスタリスク(*) は使用できません。代わりに/ALL修飾子を使用してください。/ALL を指定する場合は,アドレス式は指定できません。

修飾子

/ALL

すべてのウォッチポイントを有効にします。

説明

ウォッチポイントはSET WATCHコマンドで設定すると有効になります。DEACTIVATE WATCH で無効にした1つまたは複数のウォッチポイントを有効にするにはACTIVATE WATCH コマンドを使用します。

ウォッチポイントを有効にしたり無効にしたりすることにより,プログラムの実行や再実行のときに, ウォッチポイントを取り消して再設定する手間をかけずに, ウォッチポイントを使用したり使用しなかったりすることができます。

省略時の設定では,RERUNコマンドを実行すると,すべての静的ウォッチポイントの現在の状態( 有効か無効か)が保存されます。特定の非静的ウォッチポイントは,( 実行を再開する)メイン・プログラム・ユニットを基準にした, ウォッチの対象になっている変数の有効範囲によって保存されることもあり, 保存されないこともあります。

ウォッチポイントが有効になっているかを確かめるには,SHOW WATCHコマンドを使用します。

関連コマンド


CANCEL ALL
RERUN
(SET,SHOW,CANCEL,DEACTIVATE) WATCH

  1. DBG> ACTIVATE WATCH SUB2\TOTAL
    
    このコマンドはモジュールSUB2の中のTOTAL変数でのウォッチポイントを有効にします。

  2. DBG> ACTIVATE WATCH/ALL
    
    このコマンドは設定したあと無効にしたすべてのウォッチポイントを有効にします。

ATTACH

端末の制御を現在のプロセスから他のプロセスに渡します。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

    ATTACH   process-name

パラメータ

process-name

端末の接続先になるプロセスを指定します。指定するプロセスは,それに接続しようとする前に存在しているものでなければなりません。 プロセス名に英数字以外の文字またはスペース文字が含まれている場合, その文字を二重引用符(") で囲む必要があります。

説明

ATTACHコマンドを使用すれば,デバッグ・セッションとコマンド・ インタプリタの間または2つのデバッグ・セッションの間を行ったり来たりすることができます。 このためには,まずSPAWNコマンドを使用してサブプロセスを作成しなければなりません。 そのあとはいつでも望むときにそのサブプロセスに接続できます。 システムのオーバヘッドを最小にして元のプロセスに戻るには, もう一度ATTACHコマンドを使用します。

関連コマンド


SPAWN

  1. DBG> SPAWN
    $ ATTACH JONES
    %DEBUG-I-RETURNED, control returned to process JONES
    DBG> ATTACH JONES_1
    $
    
    この例では,一連のコマンドによりデバッガ(現在JONESというプロセスで実行中) からJONES_1という名前のサブプロセスが作成され,作成されたサブプロセスに接続します。

  2. DBG> ATTACH "Alpha One"
    $
    
    この例は,スペース文字を含むプロセス名を二重引用符で囲む方法を示しています。

CALL

プログラムにリンクされたルーチンを呼び出します。

フォーマット

    CALL   routine-name [(argument[, . . . ])]

パラメータ

routine-name

呼び出し先のルーチンの名前またはメモリ・アドレスを指定します。

argument

呼び出し先ルーチンが必要とする引数を指定します。引数は次に示すように, アドレス,ディスクリプタ,参照,値で渡すことができます。

%ADDR (CおよびC++を除く,省略時の設定)引数をアドレスで渡します。 形式は次のとおりです。
     CALL routine-name (%ADDR address-expression)

デバッガはアドレス式を評価し,そのアドレスを指定されたルーチンに渡します。(X などの)単純な変数の場合,Xのアドレスがルーチンに渡されます。 この受け渡し方法はFortranがROUTINE(X)をインプリメントする方法です。 つまり,命名された変数の場合,%ADDRの使用はFortranでの参照による呼び出しに対応します。 ただし他の式の場合には,参照によって呼び出すには%REF 関数を使用しなければなりません。(配列,レコード,アクセス・ タイプのように)複雑な変数または複合変数の場合,%ADDRを指定するとアドレスが渡されますが, 呼び出されたルーチンは渡されたデータを正しく処理しない場合があります。% ADDR を使用するときは,リテラル値( 数字または数字からなる式)は指定できません。

%DESCR 引数をディスクリプタ渡しします。形式は次のとおりです。
     CALL routine-name (%DESCR language-expression)

デバッガは言語式を評価し,値を記述するための標準ディスクリプタを作成します。 作成したディスクリプタが指定されたルーチンに渡されます。 この方法は文字列をFORT RANルーチンに渡す場合などに使用できます。

%REF 引数を参照渡しします。 形式は次のとおりです。
     CALL routine-name (%REF language-expression)

デバッガは言語式を評価し,評価結果の値を指すポインタを呼び出し先ルーチンに渡します。 この受け渡し方法はFortranが式の結果を渡す方法に対応します。

%VAL (CおよびC++ の省略時の値)引数を値渡しします。形式は次のとおりです。
     CALL routine-name (%VAL language-expression)

デバッガは言語式を評価し,値を呼び出し先ルーチンに直接渡します。

修飾子

/AST (省略時の設定)
/NOAST

呼び出し先ルーチンの実行時に非同期システム・トラップ(AST) の実行要求を許可するか禁止するかを制御します。/AST修飾子を指定すると, 呼び出し先ルーチンでのASTの実行要求は許可されます。/NOAST修飾子を指定すると, 呼び出し先ルーチンでのASTの実行要求は禁止されます。CALL コマンドで/ASTと/NOASTのどちらも指定しないと,DISABLE ASTコマンドを以前に入力していた場合を除き,AST の実行要求は許可されます。

/SAVE_VECTOR_STATE
/NOSAVE_VECTOR_STATE (省略時の設定)

VAXのベクタ化されたプログラムに適用されます。ベクタ型プロセッサの現在の状態を保存したあと,CALL コマンドでルーチンを呼び出したときにその状態を復元するのかどうかを制御します。

ベクタ型プロセッサの状態は次の情報で構成されます。

ルーチンを実行するためにCALLコマンドを使用すると,ルーチンの実行によって次のようにベクタ型プロセッサの状態が変わる可能性があります。

/SAVE_VECTOR_STATE修飾子は呼び出し先ルーチンの実行が終了したあと, CALLコマンドの実行前に存在していたベクタ型プロセッサの状態を復元することをデバッガが指定します。 これにより,呼び出し先ルーチンの実行が終了した後, 次のことが保証されます。

/NOSAVE_VECTOR_STATE修飾子(これが省略時の設定)は,CALLコマンドの実行前に存在していたベクタ型プロセッサの状態を, 呼び出し先ルーチンの実行が終了したあと, 復元しないことをデバッガが指定します。この場合, ルーチンの呼び出し後のベクタ型プロセッサの状態は,呼び出し先ルーチンによる作用があればそれによって決まります。

/[NO]SAVE_VECTOR_STATE修飾子は汎用レジスタにはまったく影響しません。 汎用レジスタの値は,CALLコマンドでルーチンが実行されると必ず保存され, 復元されます。

説明

CALLコマンドはプログラムを実行するために使用できる4つのデバッガ・ コマンドのうちの1つです(他の3つはGO,STEP,EXIT)。CALLコマンドを使用すれば, プログラムの通常の実行とは別にルーチンを実行できます。CALL コマンドは,ルーチンがプログラムにリンクされていたものであるかぎり, プログラムに実際にそのルーチンへの呼び出しがあるかないかにかかわらずそのルーチンを実行します。

CALLコマンドを入力すると,デバッガは次の処理を行います。詳しい説明は, 修飾子の説明を参照してください。

  1. 汎用レジスタの現在の値を保存します。

  2. 引数リストを構成します。

  3. コマンドで指定されたルーチンへの呼び出しを実行し,引数を引き渡します。

  4. ルーチンを実行します。

  5. R0レジスタ内のルーチンにより返される値を表示します。便宜上, 呼び出し先ルーチンの実行後,R0レジスタには関数戻り値(ルーチンが関数の場合) またはプロシージャ完了ステータス(ルーチンが状態値を返すプロシージャの場合) が入ります。呼び出し先プロシージャが状態値も関数値も返さない場合には,R0 の値は意味がないことになり,"value returned" メッセージは無視してかまいません。

  6. 汎用レジスタの値をCALLコマンドの実行前の値に復元します。

  7. プロンプトを表示します。

デバッガは呼び出し先ルーチンがプロシージャ呼び出し標準( 『OpenVMS Calling Standard』を参照)に従っているものとみなします。 ただし,デバッガはサポートされているあらゆる言語に対する引数の受け渡し方法全部についての知識を持っているわけではありません。 したがって,パラメータの受け渡し方法,たとえば,CALL SUB1(X)ではなくCALL SUB1(%VAL X) を使用するなどを指定する必要があるかもしれません。 ルーチンへ引数を引き渡す方法についての詳しい説明は,各言語のマニュアルを参照してくさい。

現在の言語がCまたはC++の場合には,省略時の設定により,CALLコマンドは参照によってではなく, 値によって引数を渡します。さらに,受け渡しメカニズム・ レキシカル(%REFや%VALなど)を使用せずに,次の引数を渡すことができます。

ルーチンに読み込み専用ではないパラメータが含まれている場合, パラメータに割り当てられている値は可視状態ではなく,値へのアクセスは確実ではありません。 これは,デバッガが,プログラム引き数ではなく内部引数リストのパラメータ値を調整するためです。 値の変化を調べるには, パラメータの代わりに静的変数を使用してみてください。

浮動小数点パラメータは,F浮動形式の値で渡すことができます。CALLコマンドは, 浮動小数点値がF浮動形式で渡されるとみなします。浮動少数点値の引き渡しは,F 浮動以外の形式ではサポートされていないため,予測できない結果になります( 後述の例を参照)。

SET BREAK/EXCEPTIONコマンドまたはSTEP/EXCEPTIONコマンドにより発生する例外ブレークポイントでの一般的なデバッグ方法は,CALL コマンドでダンプ・ ルーチンを呼び出すことです。例外ブレークポイントでCALLコマンドを入力すると, 呼び出し先ルーチンの中で以前に設定されていたブレークポイント, トレースポイントまたはウォッチポイントは,デバッガが例外コンテキストを失わないようにするために一時的に無効になります。 ただし,例外ブレークポイント以外の位置でCALLコマンドを入力した場合には, このようなイベントポイントはアクティブになります。

例外ブレークポイントが検出されると,アプリケーションで宣言された条件ハンドラが起動される前に例外が中断されます。 例外ブレークポイントでは,CALL コマンドでルーチンを実行したあとにGOコマンドまたはSTEPコマンドを入力すると, デバッガが例外を再度シグナル通知します(GOコマンドとSTEP コマンドを参照)。

Alphaプロセッサでは,CALLコマンドで起動されたルーチンの 前に起動されたルーチンはデバッグできません。 たとえば,プログラムをMAINルーチンで終了し,ブレークポイントをSORT ルーチンに設定するとします。そこでデバッガ・コマンドのCALL SORTを実行します。SORT ルーチンのデバッグ中は,MAINルーチンはデバッグできません。 まずSORTルーチンへの呼び出しから戻らなければなりません。

マルチプロセス・プログラムをデバッグするためにマルチプロセス・デバッグ構成を使用している場合( 論理名DBG$PROCESSの値がMULTIPROCESSの場合) には,CALLコマンドは可視プロセスのコンテキストで実行されますが,(SET PROCESS/HOLD コマンドによって)保留されていない他のプロセスのイメージも実行できます。CALL コマンドを1つまたは複数のプロセスにブロードキャストするためにDO コマンドを使用すると,CALLコマンドは保留されていない指定された各プロセスのコンテキストで実行されますが, 保留されていない他のプロセスのイメージも実行できます。どの場合も, 可視プロセスの保留状態は無視されます。

マルチプロセス・プログラムをデバッグするためにマルチプロセス・デバッグ構成を使用している場合, 実行がプロセスの中でどのように継続されるかはSET MODE [NO]INTERRUPT コマンドの入力の有無によって決まります。 省略時の設定(SET MODE INTERRUPT)では,実行はプロセスのどれかで中断されるまで続きます。 中断された時点で,イメージを実行していた他のプロセスで実行に割り込みがかかり, デバッガは入力を要求します。

関連コマンド


GO
EXIT
DO
SET PROCESS
SET MODE [NO]INTERRUPT
SET VECTOR_MODE [NO]SYNCHRONIZED (VAXのみ)
STEP
SYNCHRONIZE VECTOR_MODE (VAXのみ)

  1. DBG> CALL SUB1(X)
    value returned is 19
    DBG>
    
    このコマンドは,パラメータXを使用してサブルーチンSUB1を呼び出します( 省略時の設定により,Xのアドレスが渡されます)。このルーチンは19 という値を戻します。

  2. DBG> CALL SUB(%REF 1)
    value returned is 1
    DBG>
    
    この例は,数値リテラル1のある記憶位置へのポインタをSUBルーチンに渡します。

  3. DBG> SET MODULE SHARE$LIBRTL
    DBG> CALL LIB$SHOW_VM
     1785 calls to LIB$GET_VM, 284 calls to LIB$FREE_VM, 122216 bytes
     still allocated, value returned is 00000001
    DBG>
    
    この例は,(共用可能イメージLIBRTLの) LIB$SHOW_VM実行時ライブラリ・ ルーチンを呼び出して,メモリ統計情報を表示しています。SET MODULEコマンドはLIBRTL 内のユニバーサル・シンボル(ルーチン名)をメイン・イメージの中で可視状態にします。 詳しい説明はSHOW MODULE/SHAREコマンドを参照してください。

  4. DBG> CALL testsub (%val 11.11, %val 22.22, %val 33.33)
    
    この例は,関数プロトタイプvoid testsub (float, float, float)を持つCサブルーチンを仮定した,値による浮動小数点パラメータの引き渡しています。 浮動小数点パラメータは,F浮動形式で渡されます。

  5.      SUBROUTINE CHECK_TEMP(TEMPERATURE,ERROR_MESSAGE)
            REAL TOLERANCE /4.7/
            REAL TARGET_TEMP /92.0/
            CHARACTER*(*) ERROR_MESSAGE
    
            IF (TEMPERATURE .GT. (TARGET_TEMP + TOLERANCE)) THEN
               TYPE *,'Input temperature out of range:',TEMPERATURE
               TYPE *,ERROR_MESSAGE
            ELSE
               TYPE *,'Input temperature in range:',TEMPERATURE
            END IF
         RETURN
         END
    DBG> CALL CHECK_TEMP(%REF 100.0, %DESCR 'TOLERANCE-CHECK 1 FAILED')
    Input temperature out of range:   100.0000
    TOLERANCE-CHECK 1 FAILED
    value returned is 0
    DBG> CALL CHECK_TEMP(%REF 95.2, %DESCR 'TOLERANCE-CHECK 2 FAILED')
    Input temperature in range:   95.2000
    value returned is 0
    DBG>
    
    この例のソース・コードは,2つのパラメータ,TEMPERATURE (実数)とERROR_MESSAGE ( 文字列)を受け付けるFortranルーチン(CHECK_TEMP)のソース・ コードです。ルーチンは,温度の値によってさまざまな出力を表示します。2 つのCALLコマンドはそれぞれ参照で温度値とディスクリプタでエラー・ メッセージを渡します。このルーチンには正式な戻り値がないため, 返される値は未定義となり,この場合には0になります。

CANCEL ALL

ブレークポイント,トレースポイント,ウォッチポイントをすべて取り消します。 有効範囲と型をそれぞれの省略時の値に戻します。SET MODEコマンドで設定された行モード, シンボリック・モード,G浮動モードをそれぞれの省略時の値に戻します。

フォーマット

    CANCEL ALL

修飾子

/PREDEFINED

定義済みのブレークポイント,トレースポイントをすべて取り消します( ただしユーザ定義のものは取り消しません)。

/USER

ユーザ定義のブレークポイント,トレースポイント,ウォッチポイントをすべて取り消します( ただし定義済みのものは取り消さない)。 /PREDEFINEDを指定した場合を除き,これが省略時の設定です。CANCEL ALLコマンドは次のステップを行います。

説明

CANCEL ALLコマンドは次のことを行います。

  1. SET BREAKコマンド,SET TRACEコマンド,SET WATCHコマンドで作成されたユーザ定義イベントポイントのすべてを取り消します。 これはCANCEL BREAK/ALLコマンド,CANCEL TRACE/ALLコマンド, CANCEL WATCH/ALLコマンドを入力することと同じです。プログラムの種類によっては( たとえばAdaプログラムやマルチプロセス・プログラム) ,デバッガを起動すると,特定の定義済みのブレークポイントまたはトレースポイントが自動的に設定される場合があります。 定義済みで, ユーザ定義ではないすべてのイベントポイントを取り消すには, CANCEL ALL/PREDEFINEDを使用します。定義済みで,ユーザ定義のイベントポイントをすべて取り消すには,CANCEL ALL/PREDEFINED/USER を使用します。

  2. 有効範囲検索リストをその省略時の値(0,1,2, . . . ,n )に戻します。これはCANCEL SCOPEコマンドを入力することと同じです。

  3. コンパイラ生成型に対応する記憶位置のデータ型を対応する型に戻します。 コンパイラ生成型に対応しない記憶位置の型は"ロングワード整数" に戻します。これはCANCEL TYPE/OVERRIDEコマンドとSET TYPE LONGWORDコマンドを入力することと同じです。

  4. SET MODEコマンドで設定された行モード,シンボリック・モード,G 浮動モードをそれぞれの省略時の値に戻します。これは次のコマンドを入力することと同じです。
         DBG> SET MODE LINE,SYMBOLIC,NOG_FLOAT
    

CANCEL ALLコマンドは実行時シンボル・テーブルに含まれている現在の言語設定やモジュールには影響しません。

関連コマンド


(CANCEL,DEACTIVATE) BREAK
CANCEL SCOPE
(CANCEL,DEACTIVATE) TRACE
CANCEL TYPE/OVERRIDE
(CANCEL,DEACTIVATE) WATCH
(SET,CANCEL) MODE
SET TYPE

  1. DBG> CANCEL ALL
    
    このコマンドはすべてのユーザ定義のブレークポイントとトレースポイント, すべてのウォッチポイントを取り消し,有効範囲,型,一定のモードをそれぞれの省略時の値に戻します。 この例では,定義済みのブレークポイント, トレースポイントはありません。

  2. DBG> CANCEL ALL
    %DEBUG-I-PREDEPTNOT, predefined eventpoint(s) not canceled
    
    このコマンドはすべてのユーザ定義のブレークポイントとトレースポイント, すべてのウォッチポイントを取り消し,有効範囲,タイプ,一定のモードをそれぞれの省略時の値に戻します。 この例では,定義済みのブレークポイント, トレースポイントがいくつかあります。それらは省略時の設定では取り消されません。

  3. DBG> CANCEL ALL/PREDEFINED
    
    このコマンドは定義済みのブレークポイント,トレースポイントをすべて取り消し, 有効範囲,タイプ,一定のモードをそれぞれの省略時の値に戻します。 ユーザ定義のブレークポイントやトレースポイントは影響を受けません。

CANCEL BREAK

ブレークポイントを取り消します。

フォーマット

    CANCEL BREAK   [address-expression[, . . . ]]

パラメータ

address-expression

取り消すブレークポイントを指定します。ワイルドカード文字のアスタリスク(*) は使用できません。代わりに/ALL修飾子を使用してください。/EVENT ,/PREDEFINED,/USER以外の修飾子を使用する場合は,アドレス式は指定できません。

修飾子

/ACTIVATING

マルチプロセス・デバッグ構成の場合(DBG$PROCESSの値がMULTIPROCESS の場合)に指定できます。前回のSET BREAK/ACTIVATINGコマンドの作用を取り消します。

/ALL

省略時の設定では,すべてのユーザ定義ブレークポイントを取り消します。/PREDEFINED といっしょに使用すると,定義済みブレークポイントはすべて取り消されますが, ユーザ定義ブレークポイントは取り消されません。 すべてのブレークポイントを取り消すには,CANCEL BREAK/ALL/USER /PREDEFINEDを使用します。

/BRANCH

前回のSET BREAK/BRANCHコマンドの作用を取り消します。

/CALL

前回のSET BREAK/CALLコマンドの作用を取り消します。

/EVENT=event-name

前回のSET BREAK/EVENT=event-nameコマンドの作用を取り消します。 イベント名(および必要であればアドレス式)はSET BREAK/EVENTコマンドで指定したとおりに指定してください。現在のイベント機能とそれに対応するイベント名を表示するには,SHOW EVENT_FACILITY コマンドを使用してください。

/EXCEPTION

前回のSET BREAK/EXCEPTIONコマンドの作用を取り消します。

/HANDLER

前回のSET BREAK/HANDLERコマンドの作用を取り消します。

/INSTRUCTION

前回のSET BREAK/INSTRUCTIONコマンドの作用を取り消します。

/LINE

前回のSET BREAK/LINEコマンドの作用を取り消します。

/PREDEFINED

ユーザ定義ブレークポイントにはまったく影響を及ぼさずに指定の定義済みブレークポイントを取り消します。/ALL といっしょに使用すると, すべての定義済みブレークポイントが取り消されます。

/SYSEMULATE

(Alphaのみ)前回のSET BREAK/SYSEMULATEコマンドの作用を取り消します。

/TERMINATING

前回のSET BREAK/TERMINATINGコマンドの作用を取り消します。

/UNALIGNED_DATA

(Alphaのみ)前回のSET BREAK/UNALIGNED_DATAコマンドの作用を取り消します。

/USER

定義済みブレークポイントにはまったく影響を及ぼさずに指定のユーザ定義ブレークポイントを取り消します。/PREDEFINED を指定した場合を除き, これが省略時の設定です。すべてのユーザ定義ブレークポイントを取り消すには,/ALL 修飾子を使用します。

/VECTOR_INSTRUCTION

(VAXのみ)前回のSET BREAK/VECTOR_INSTRUCTIONコマンドの作用を取り消します。

説明

ブレークポイントには,ユーザが定義するものと定義済みのものとがあります。 ユーザ定義のブレークポイントは,SET BREAKコマンドで明示的に設定したブレークポイントです。 定義済みのブレークポイントは, デバッグするプログラムの種類(AdaあるいはZQUITマルチプロセスなど)によって異なりますが, デバッガの起動時に自動的に設定されます。現在設定されているすべてのブレークポイントを表示するには,SHOW BREAK コマンドを使用します。 定義済みのブレークポイントは定義済みのものとして表示されます。

ユーザ定義ブレークポイントと定義済みブレークポイントは,それぞれ別々に設定したり取り消したりします。 たとえば,1つの記憶位置またはイベントに, ユーザ定義ブレークポイントと定義済みブレークポイントの両方を設定することができます。 ユーザ定義ブレークポイントを取り消しても, 定義済みブレークポイントは影響を受けません。逆も同様です。

ユーザ定義ブレークポイントだけを取り消すには,CANCEL BREAKコマンドを指定するときに/PREDEFINED を指定しないでください(省略時の設定は/USER) 。定義済みブレークポイントだけを取り消すには,/USERではなく/PREDEFINED を指定します。定義済みブレークポイントとユーザ定義ブレークポイントを両方とも取り消すには,/PREDEFINED と/USERを両方指定します。

通常,SET BREAKコマンドはユーザ定義ブレークポイントに対してだけ使用されますが,CANCEL BREAK コマンドの作用はSET BREAKコマンドの作用の反対です。 したがって,特定の記憶位置に設定されたブレークポイントを取り消すには,CANCEL BREAK コマンドでそれと同じ記憶位置(アドレス式) を指定します。命令またはイベントのクラスに対して設定されたブレークポイントを取り消すには, 対応する修飾子(/LINE,/BRANCH, /ACTIVATING,/EVENT=など)を使用して命令またはイベントのクラスを指定します。 詳しくは,修飾子の説明を参照してください。

ブレークポイントを取り消す手間をかけずに,デバッガにそのブレークポイントを無視させたい場合( たとえば,プログラムを再実行するときにブレークポイントを使用したり, 使用しない場合)には,CANCEL BREAKコマンドではなくDEACTIVATE BREAK コマンドを使用してください。あとで, (ACTIVATE BREAKを使用して)そのブレークポイントを有効にすることができます。

関連コマンド


(ACTIVATE,DEACTIVATE) BREAK
CANCEL ALL
(SET,SHOW) BREAK
(SET,SHOW) EVENT_FACILITY
(SET,SHOW,CANCEL) TRACE

  1. DBG> CANCEL BREAK MAIN\LOOP+10
    
    このコマンドはアドレス式MAIN\LOOP+10で設定されたユーザ定義ブレークポイントを取り消します。

  2. DBG> CANCEL BREAK/ALL
    
    このコマンドはユーザ定義ブレークポイントをすべて取り消します。

  3. DBG> CANCEL BREAK/ALL/USER/PREDEFINED
    
    このコマンドはユーザ定義ブレークポイントと定義済みブレークポイントをすべて取り消します。

  4. DBG_1> CANCEL BREAK/ACTIVATING
    
    このコマンドは前回のユーザ定義SET BREAK/ACTIVATINGコマンドを取り消します。 この結果,デバッガは新しいプロセスがデバッガの制御下に入っても実行を一時停止しません。

  5. DBG> CANCEL BREAK/EVENT=EXCEPTION_TERMINATED/PREDEFINED
    
    このコマンドは未処理例外が原因でタスク終端に設定された定義済みブレークポイントを取り消します。 このブレークポイントはAdaプログラムとDECthreads またはAdaルーチンを呼び出すプログラムに対しては定義済みのものです。

CANCEL DISPLAY

画面表示を永久に削除します。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

    CANCEL DISPLAY   [display-name[, . . . ]]

パラメータ

display-name

取り消す表示の名前を指定します。PROMPT表示は取り消すことができないため, 指定できません。ワイルドカード文字のアスタリスク(*)は使用できません。 代わりに/ALL修飾子を使用してください。/ALLを指定する場合は, ディスプレイ名は指定できません。

修飾子

/ALL

PROMPT表示を除くすべての表示を取り消します。

/SUFFIX[=process-identifier-type]

マルチプロセス・デバッグ構成の場合(DBG$PROCESSの値がMULTIPROCESS の場合)に指定できます。プロセスを識別する接尾辞がディスプレイ名に付きます。 この修飾子は,ディスプレイ名の直後に指定してください。 コマンドが実行された時点での可視プロセスが接尾辞に示されます。

/SUFFIX修飾子は,表示定義または表示定義に関連したキー定義を指定する場合のコマンド・ プロシージャで主に使用されます。

process-identifier-typeには次のいずれかのキーワードを指定できます。

PROCESS_NAME ディスプレイ名の後ろにプロセス名が付きます。
PROCESS_ NUMBER ディスプレイ名の後ろにプロセス番号(SHOW PRO CESSコマンドの実行で表意される番号)が付きます。
PROCESS_PID ディスプレイ名の後ろにプロセス識別子(PID) が付きます。

/SUFFIXのあとにprocess-identifier-typeキーワードを指定しないと, プロンプトの接尾辞がディスプレイ名の省略時の値として使用されます(SET PROMPT/SUFFIX コマンドを参照してください)。

説明

表示を取り消すと,その内容は永久に失われ,表示リストから削除され, その表示に割り当てられたメモリはすべて解放されます。

PROMPT表示は取り消せません。

関連コマンド


(SHOW) DISPLAY
(SET,SHOW,CANCEL) WINDOW

  1. DBG> CANCEL DISPLAY SRC2
    
    このコマンドはSRC2表示を削除します。

  2. DBG> CANCEL DISPLAY/ALL
    
    このコマンドはPROMPT表示を除き,すべての表示を削除します。

CANCEL IMAGE

共用可能イメージのシンボル・テーブル情報を削除します。

フォーマット

    CANCEL IMAGE   [image-name[, . . . ]]

パラメータ

image-name

取り消しの対象となる,以前に設定した共用可能イメージを指定します。 メイン・イメージは取り消すことができないため,指定できません。 ワイルドカード文字のアスタリスク(*)は使用できません。代わりに/ALL 修飾子を使用してください。/ALLを指定する場合は,イメージ名は指定できません。

修飾子

/ALL

メイン・イメージ以外のすべての共用可能イメージを取り消すことを指定します。

説明

CANCEL IMAGEコマンドは共用可能イメージをデバッグするためにSET IMAGE コマンドにより以前に作成されたデータ構造の割り当てを解除します。 多くのイメージとモジュールが設定されているためにデバッガ性能が低下した場合には,CANCEL IMAGE コマンドを使用してください。 また,CANCEL MODULEコマンドを使用すれば,イメージ全体を取り消さずに, イメージの実行時シンボル・テーブル(RST)から特定のモジュールだけを削除できます。 動的モードが使用可能になっている(この状態が省略時の設定) 場合,SET MODE NODYNAMICコマンドを使用してこの動的モード使用不可能にすることができます。 使用不可能にすると,デバッガはイメージやモジュールを自動的に設定しなくなります。

現在のイメージ(SET IMAGEコマンドで前回設定したイメージ)を取り消すと, メイン・イメージ(イメージ遷移アドレスを含むイメージ)が現在のイメージになります。

関連コマンド


(SET,SHOW) IMAGE
SET MODE [NO]DYNAMIC
(SET,SHOW,CANCEL) MODULE

    DBG> CANCEL IMAGE SHARE2,SHARE3
    
    このコマンドは共用可能イメージのSHARE2とSHARE3を取り消します。この2 つのどちらかが現在のイメージだった場合には,メイン・イメージが現在のイメージになります。

CANCEL MODE

SET MODEコマンドにより設定された行モード,シンボリック・モード,G 浮動モードをそれぞれの省略時の値に戻します。また,入出力値の基数も省略時の設定に戻します。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

    CANCEL MODE

説明

CANCEL MODEコマンドの作用は次のコマンドと同じです。
     DBG> SET MODE LINE,SYMBOLIC,NOG_FLOAT
     DBG> CANCEL RADIX

ほとんどの言語の場合,データの入力と表示の両方に対する省略時の基数は10 進数です。VAXプロセッサでは,例外はBLISS と MACRO-32です。 MACRO-32です。この2つの省略時の基数は16進数です。Alpha プロセッサでは,例外はBLISSとMACRO-32 とMACRO-64です。MACRO-32とMACRO-64です。この3つの省略時の基数は16 進数です。

関連コマンド


(SET,SHOW) MODE
(SET,SHOW,CANCEL) RADIX

    DBG> CANCEL MODE
    
    このコマンドは省略時の基数モードとすべての省略時のモード値を復元します。

CANCEL MODULE

現在のイメージ内のモジュールのシンボル・レコードをそのイメージの実行時シンボル・ テーブル(RST)から削除します。


注意
現在のイメージとは,メイン・ イメージ(省略時の設定)と前回のSET IMAGEコマンドで現在のイメージとして設定されたイメージのどちらかです。

フォーマット

    CANCEL MODULE   [module-name[, . . . ]]

パラメータ

module-name

RSTから削除したいシンボル・レコードをモジュールの名前を指定します。 ワイルドカード文字のアスタリスク(*)は使用できません。代わりに/ALL 修飾子を使用してください。/ALLを指定する場合は,モジュール名は指定できません。

修飾子

/ALL

RSTからすべてのモジュールのシンボル・レコードを削除します。 この修飾子を使用する場合は/[NO]RELATEDは指定できません。

/RELATED (省略時の設定)
/NORELATED

(Adaプログラムに適用される。)指定されたモジュールにWITH 句またはサブユニット関係によって関連づけられたモジュールのシンボル・ レコードをRSTにロードするかどうかを制御します。

CANCEL MODULE/RELATEDコマンドは指定されたモジュールのシンボル・レコードだけでなく, 関連するモジュールのシンボル・レコードも削除しますが, 他に設定されたモジュールにも関連するモジュールのシンボル・レコードは削除しません。CANCEL MODULE/RELATED の作用はAdaの有効範囲と可視性規則に従っており, モジュール間の実際の関連に依存します。 CANCEL MODULE/NORELATEDコマンドは指定されたモジュールのシンボル・ レコードだけを削除します(関連モジュールのシンボル・レコードは削除されない) 。

説明

設定されているモジュールが多いためにデバッガの性能が低下した場合には,CANCEL MODULE コマンドを使用してください。また,CANCEL IMAGEコマンドを使用すれば,イメージ全体のシンボルを削除できます( これを行うと,そのイメージ内のモジュールすべてが自動的に削除される) 。これが省略時の設定である動的モードが使用可能な場合には,SET MODE NODYNAMICコマンドで動的モードを使用不可能にできます。使用不可能にするとデバッガはモジュールもイメージも自動的に設定しなくなります。

CANCEL MODULEコマンドは現在設定されているブレークポイント,トレースポイント, ウォッチポイントはまったく取り消しません。CANCEL MODULEコマンドは取り消されたモジュールに対応する,ブレークポイント, トレースポイント,ウォッチポイントのシンボル化を削除します。

関連コマンド


(SET,SHOW,CANCEL) IMAGE
SET MODE [NO]DYNAMIC
(SET,SHOW) MODULE

  1. DBG> CANCEL MODULE SUB1
    
    このコマンドはモジュールSUB1のシンボルをRSTから削除します。

  2. DBG> CANCEL MODULE/ALL
    
    このコマンドはすべてのモジュールのシンボルをRSTから削除します。

CANCEL RADIX

整数データの入力と表示のための基数モードを省略時の設定に戻します。

フォーマット

    CANCEL RADIX

修飾子

/OVERRIDE

前回のSET RADIX/OVERRIDEコマンドで設定された変更型の基数を上書きします。 現在の変更型の基数を"none"に設定し,出力基数モードを前回のSET RADIX コマンドまたはSET RADIX/OUTPUTコマンドで設定された値に戻します。SET RADIX コマンドまたはSET RADIX/OUTPUTコマンドを使用して基数モードを変更していなかった場合は,CANCEL RADIX/OVERRIDE コマンドは基数モードをその省略時の設定に戻します。

説明

CANCEL RADIXコマンドは前回のSET RADIXコマンドとSET RADIX /OVERRIDEコマンドの作用を取り消します。入力と出力の基数をそれぞれの省略時の設定に戻します。 データのほとんどの言語の場合,入力と表示の両方に対する省略時の基数は10 進数です。

VAXプロセッサでは,例外はBLISSとMACRO-32です。MACRO-32 です。この2つの省略時の基数は16進数です。Alphaプロセッサでは,例外はBLISSとMACRO-32とMACRO-64です。MACRO-32 とMACRO-64です。この3つの省略時の基数は16進数です。

CANCEL RADIX/OVERRIDEコマンドの作用には制限がもっとあります。この作用については/OVERRIDE 修飾子で説明します。

関連コマンド


EVALUATE
(SET,SHOW) RADIX

  1. DBG> CANCEL RADIX
    
    このコマンドは省略時の入出力の基数を復元します。

  2. DBG> CANCEL RADIX/OVERRIDE
    
    このコマンドはSET RADIX/OVERRIDEコマンドで設定していた可能性のある変更型の基数を上書きします。

CANCEL SCOPE

シンボル検索のための有効範囲検索リストを省略時の設定に戻します。

フォーマット

    CANCEL SCOPE

説明

CANCEL SCOPEコマンドは前回のSET SCOPEコマンドで設定された現在の有効範囲の検索リストを取り消し, 省略時の有効範囲検索リスト, すなわち 0,1,2, . . . ,nを有効にします。ここで nは呼び出しスタック内の呼び出しの数です。

省略時の有効範囲検索リストは,パス名接頭識別子が付かないシンボルの場合,EXAMINE X のようなシンボル検索はまず現在実行中のルーチン(有効範囲0) でXを探します。そこでXが可視状態になっていない場合,デバッガはそのルーチンの呼び出し元( 有効範囲1)を探し,呼び出しスタックを順におりていきます。X が有効範囲nで見つからないと,デバッガは実行時シンボル・ テーブル(RST)の残りを検索し,必要ならばグローバル・ シンボル・テーブル(GST)を検索します。

関連コマンド


(SET,SHOW) SCOPE

    DBG> CANCEL SCOPE
    
    このコマンドは現在の有効範囲を取り消します。

CANCEL SOURCE

前回のSET SOURCEコマンドで設定された,ソース・ディレクトリの検索リストと検索方法のどちらか一方, あるいは両方を取り消します。

フォーマット

    CANCEL SOURCE

修飾子

/DISPLAY

前回のSET SOURCE/DISPLAYコマンドの作用を取り消します。 SET SOURCE/DISPLAYコマンドは,ソース・コードを表示するときにデバッガが使用するディレクトリ検索リストを指定します。 このコマンドの作用を取り消すと, デバッガはコンパイルされたディレクトリからソース・ファイルを検索するようになります。

/EDIT

前回のSET SOURCE/EDITコマンド(デバッガがEDITコマンドの実行中に使用するディレクトリ検索リストを指定するコマンド) の作用を取り消します。CANCEL SOURCE/EDIT により,デバッガはソース・ファイルをコンパイル時のディレクトリから検索するようになります。

/EXACT

前回のSET SOURCE/EXACTコマンド(ディレクトリ検索方法を指定するコマンド) の作用を取り消します。CANCEL SOURCE/EXACTにより,デバッガはコンパイル以降の 正確に一致するバージョンのソース・ファイルの検索は行わなくなり, 省略時の検索方法である最新バージョンのファイル検索に戻ります。

/LATEST

前回のSET SOURCE/LATESTコマンド(ディレクトリ検索方法を指定するコマンド) の作用を取り消します。CANCEL SOURCE/LATESTにより,デバッガはコンパイル以降の 正確に一致するバージョンのソース・ファイルを検索するようになります。/LATEST は省略時の設定であるため,この修飾子は他の修飾子( たとえば/MODULE)と一緒に使用した場合にのみ意味があります。

/MODULE=module-name

同じモジュール名と修飾子が指定されていた前回のSET SOURCE /MODULE=module-nameコマンドを取り消します。/MODULE修飾子を使用すると, 指定されたモジュールに対して個別のディレクトリ検索リストとディレクトリ検索方法のどちらか一方, あるいは両方を指定することができます。SET SOURCE/MODULE コマンドやCANCEL SOURCE/MODULEコマンドには, 上に挙げた修飾子を追加することができます。

他の修飾子を追加してCANCEL SOURCE/MODULEコマンドを実行すると,指定された各修飾子がモジュールに与える作用が取り消されます。 他の修飾子を追加せずにCANCEL SOURCE/MODULE コマンドを実行すると,デバッガは指定されていたモジュールをディレクトリ内の他のモジュールと区別しなくなります。

/ORIGINAL

STDLプログラムにだけ適用されます。レイヤード・プロダクトであるコリレーション・ ファシリティ(Correlation Facility)をインストールする必要があり, 保持デバッガ(Kept Debugger)を起動する必要があります。 前回のSET SOURCE/ORIGINALコマンドの作用を取り消します。SET SOURCE/ORIGINALコマンドは,STDLソース・ファイルをデバッグしなければならず, 他の言語で作成されたソース・ファイルをデバッグする場合には取り消さなければなりません。

説明

CANCEL SOURCEは前回のSET SOURCEコマンドの作用を取り消します。 この取り消しの種類は,前回のSET SOURCEコマンドによって有効にされた修飾子によって決まります。CANCEL SOURCE とSET SOURCEの相互関係については,CANCEL SOURCE の例を参照してください。

SET SOURCEコマンドを実行する場合,2つの修飾子/LATESTと/EXACTのいずれかが必ず有効でなければなりません。 これらの修飾子は,デバッガの検索方法に影響を与えます。/LATEST 修飾子は,最後に作成されたバージョン( ディレクトリ内の一番大きい番号のバージョン)を検索するようデバッガに指示します。/EXACT 修飾子は,最後にコンパイルされたバージョン( コンパイル時に作成されたデバッガ・シンボル・テーブルに記録されているバージョン) を検索するようデバッガに指示します。たとえば,SET SOURCE/LATESTコマンドはSORT.FOR;3を検索し,SET SOURCE/EXACTコマンドはSORT.FOR;1 を検索するという具合です。

/DISPLAYまたは/EDIT修飾子が指定されていないCANCEL SOURCEは,SET SOURCE/DISPLAYとSET SOURCE/EDITの両方が前に指定されていた場合,これらのコマンドの作用を取り消します。

表示するファイルがコンパイル・ディレクトリに存在しない場合には, /DISPLAY修飾子が必要です。

ソース・コードの表示用に使用されたファイルが編集可能ファイルと異なっている場合には,/EDIT 修飾子が必要です。Adaプログラムを使用する場合がそうです。Ada プログラムの場合,(SET,SHOW,CANCEL) SOURCE コマンドはソース表示に使用するファイル(Adaプログラム・ライブラリ内の" 複写された"ソース・ファイル)の検索に影響します。(SET,SHOW, CANCEL) SOURCE/EDITコマンドは,EDITコマンドを使用するときに編集するソース・ ファイルの検索に影響します。

Adaプログラムに特有の情報については,HELP Language_Support Adaをタイプしてください。

関連コマンド


(SET,SHOW) SOURCE

  1. DBG> SET SOURCE/MODULE=CTEST/EXACT [],SYSTEM::DEVICE:[PROJD]
    DBG> SET SOURCE [PROJA],[PROJB],[PETER.PROJC]
     . . .
    
    DBG> SHOW SOURCE
       source directory search list for CTEST,
        match the exact source file version:
            []
            SYSTEM::DEVICE:[PROJD]
        source directory list for all other modules,
        match the latest source file version:
            [PROJA]
            [PROJB]
            [PETER.PROJC]
    DBG> CANCEL SOURCE
    DBG> SHOW SOURCE
       source directory search list for CTEST,
        match the exact source file version:
            []
            SYSTEM::DEVICE:[PROJD]
        all other source files will try to match
        the latest source file version
    
    この例ではSET SOURCEコマンドによって,CTEST以外のソース・ファイルにディレクトリの検索リストと検索方法( 省略時の最新バージョン検索)を設定しています。CANCEL SOURCE コマンドは,ディレクトリ検索リストは取り消しますが, 検索方法は取り消しません。

  2. DBG> SET SOURCE/MODULE=CTEST/EXACT [],SYSTEM::DEVICE:[PROJD]
    DBG> SET SOURCE [PROJA],[PROJB],[PETER.PROJC]
     . . .
    DBG> SHOW SOURCE
       source directory search list for CTEST,
        match the exact source file version:
            []
            SYSTEM::DEVICE:[PROJD]
        source directory list for all other modules,
        match the latest source file version:
            [PROJA]
            [PROJB]
            [PETER.PROJC]
    
    DBG> CANCEL SOURCE/MODULE=CTEST/EXACT
    DBG> SHOW SOURCE
       source directory search list for CTEST,
        match the latest source file version:
            []
            SYSTEM::DEVICE:[PROJD]
        source directory list for all other modules,
        match the latest source file version:
            [PROJA]
            [PROJB]
            [PETER.PROJC]
    DBG> CANCEL SOURCE/MODULE=CTEST
    DBG> SHOW SOURCE
        source directory list for all modules,
         match the latest source file version:
            [PROJA]
            [PROJB]
            [PETER.PROJC]
    
    この例ではSET SOURCE/MODULE=CTEST/EXACTコマンドによって,ソース・ ファイルCTESTにディレクトリの検索リストと検索方法(一致バージョンの検索) を設定しています。CANCEL SOURCE/MODULE=CTEST/EXACTコマンドは,CTEST の検索方法を取り消して省略時の最新バージョン検索に戻しています。 また,CANCEL SOURCE/MODULE=CTESTコマンドは,CTESTのディレクトリ検索リストを取り消しています。

  3. DBG> SET SOURCE /EXACT
    DBG> SHOW SOURCE
        no directory search list in effect,
         match the exact source file
    DBG> SET SOURCE [JONES]
    DBG> SHOW SOURCE
        source directory list for all modules,
         match the exact source file version:
             [JONES]
    DBG> CANCEL SOURCE /EXACT
    DBG> SHOW SOURCE
         source directory list for all modules,
         match the latest source file version:
             [JONES]
    
    この例では,最初のSET SOURCE/EXACTコマンドで設定した検索方法(一致バージョンの検索) は,SET SOURCE [JONES]コマンドでもそのまま有効です。CANCEL SOURCE/EXACT コマンドは,SET SOURCE/EXACTコマンドを取り消し, さらにSET SOURCE [JONES]に影響を与えています。

CANCEL TRACE

トレースポイントを取り消します。

フォーマット

    CANCEL TRACE   [address-expression[, . . . ]]

パラメータ

address-expression

取り消すトレースポイントを指定します。ワイルドカード文字のアスタリスク(*) は使用できません。代わりに/ALL修飾子を使用してください。/EVENT ,/PREDEFINED,/USER以外の修飾子を使用すると,アドレス式は指定できません。

修飾子

/ACTIVATING

マルチプロセス・デバッグ構成の場合(DBG$PROCESSの値がMULTIPROCESS の場合)に指定できます。前回のSET TRACE/ACTIVATINGコマンドの作用を取り消します。

/ALL

省略時の設定では,すべてのユーザ定義トレースポイントを取り消します。/PREDEFINED といっしょに使用すると,定義済みトレースポイントはすべて取り消されますが, ユーザ定義トレースポイントは取り消されません。 すべてのトレースポイントを取り消すには,/ALL/USER/PREDEFINEDを使用します。

/BRANCH

前回のSET TRACE/BRANCHコマンドの作用を取り消します。

/CALL

前回のSET TRACE/CALLコマンドの作用を取り消します。

/EVENT=event-name

前回のSET TRACE/EVENT=event-nameコマンドの作用を取り消します。 イベント名(および必要であればアドレス式)はSET TRACE/EVENTコマンドで指定したとおりに指定してください。現在のイベント機能とそれに対応するイベント名を表示するには,SHOW EVENT_FACILITY コマンドを使用します。

/EXCEPTION

前回のSET TRACE/EXCEPTIONコマンドの作用を取り消します。

/INSTRUCTION

前回のSET TRACE/INSTRUCTIONコマンドの作用を取り消します。

/LINE

前回のSET TRACE/LINEコマンドの作用を取り消します。

/PREDEFINED

ユーザ定義トレースポイントにはまったく影響を及ぼさずに指定の定義済みトレースポイントを取り消します。/ALL といっしょに使用すると, すべての定義済みトレースポイントが取り消されます。

/TERMINATING

前回のSET TRACE/TERMINATINGコマンドの作用を取り消します。

/USER

定義済みトレースポイントにはまったく影響を及ぼさずに, 指定のユーザ定義トレースポイントを取り消します。/PREDEFINED を指定した場合を除き, これが省略時の設定です。すべてのユーザ定義トレースポイントを取り消すには/ALL を使用します。

/VECTOR_INSTRUCTION

(VAXのみ)前回のSET TRACE/VECTOR_INSTRUCTIONコマンドの作用を取り消します。

説明

トレースポイントには,ユーザが定義するものと定義済みのものとがあります。 ユーザ定義のトレースポイントは,ユーザがSET TRACEコマンドで明示的に設定したトレースポイントです。 定義済みのトレースポイントは, デバッグするプログラムの種類(Adaあるいはマルチプロセスなど) によって異なりますが,デバッガの起動時に自動的に設定されます。 現在設定されているすべてのトレースポイントを表示するには,SHOW TRACEコマンドを使用します。定義済みのトレースポイントは定義済みのものとして表示されます。

ユーザ定義トレースポイントと定義済みトレースポイントは,それぞれ別々に設定したり取り消したりします。 たとえば,1つの記憶位置またはイベントに, ユーザ定義トレースポイントと定義済みトレースポイントの両方を設定することができます。 ユーザ定義トレースポイントを取り消しても, 定義済みトレースポイントは影響を受けません。逆も同様です。

ユーザ定義トレースポイントだけを取り消すには,CANCEL TRACEコマンドを指定するときに/PREDEFINED を指定しないでください(省略時の設定は/USER ) 。定義済みトレースポイントだけを取り消すには,/USERではなく/PREDEFINED を指定します。定義済みトレースポイントとユーザ定義トレースポイントを両方とも取り消すには,CANCEL TRACE/ALL/USER /PREDEFINEDを使用します。

通常,SET TRACEコマンドはユーザ定義トレースポイントに対してだけ使用されますが,CANCEL TRACE コマンドの作用はSET TRACEコマンドの作用の反対です。 したがって,特定の記憶位置に設定されたトレースポイントを取り消すには,CANCEL TRACE コマンドでそれと同じ記憶位置(アドレス式) を指定します。命令またはイベントのクラスに対して設定されたトレースポイントを取り消すには, 対応する修飾子(/LINE,/BRANCH, /ACTIVATING,/EVENT=など)を使用して命令またはイベントのクラスを指定します。 詳しい説明は,修飾子の説明を参照してください。

デバッガがトレースポイントを一時的に無視するように設定し,しかもトレースポイントの定義はそのまま残しておきたい場合には,DEACTIVATE TRACEコマンドを使用します。トレースポイントは後で有効に設定できます( その場合はACTIVATE TRACEを使用します)。

関連コマンド


(ACTIVATE,DEACTIVATE,SET,SHOW) TRACE
CANCEL ALL
(SET,SHOW,CANCEL) BREAK
(SET,SHOW) EVENT_FACILITY

  1. DBG> CANCEL TRACE MAIN\LOOP+10
    
    This command cancels the user-defined tracepoint at the location MAIN\LOOP+10.

  2. DBG> CANCEL TRACE/ALL
    
    このコマンドはすべてのユーザ定義トレースポイントを取り消します。

  3. DBG_1> CANCEL TRACE/TERMINATING
    
    このコマンドは前回のSET TRACE/TERMINATINGコマンドを取り消します。 取り消すと,プロセスがイメージの終了を行っても,ユーザ定義トレースポイントは検出されません。

  4. DBG> CANCEL TRACE/EVENT=RUN %TASK 3
    
    このコマンドはタスク3 (タスクID = 3)がRUN状態に入ったときに検出されるように設定されたトレースポイントを取り消します。

CANCEL TYPE/OVERRIDE

前回のSET TYPE/OVERRIDEコマンドで設定された変更型を上書きします。

フォーマット

    CANCEL TYPE/OVERRIDE

説明

CANCEL TYPE/OVERRIDEコマンドは現在の上書き型を"none"に設定します。 その結果,コンパイラ生成型に対応するプログラム記憶位置はその型に従って解釈されます。

関連コマンド


DEPOSIT
EXAMINE
(SET,SHOW) EVENT_FACILITY
(SET,SHOW) TYPE/OVERRIDE

    DBG> CANCEL TYPE/OVERRIDE
    
    このコマンドは前回のSET TYPE/OVERRIDEコマンドの作用を取り消します。

CANCEL WATCH

ウォッチポイントを取り消します。

フォーマット

    CANCEL WATCH   [address-expression[, . . . ]]

パラメータ

address-expression

取り消すウォッチポイントを指定します。高級言語を使用する場合, これは通常変数の名前になります。ワイルドカード文字のアスタリスク(*) は使用できません。代わりに/ALL修飾子を使用してください。/ALL を指定する場合は,アドレス式は指定できません。

修飾子

/ALL

すべてのウォッチポイントを取り消します。

説明

CANCEL WATCHコマンドの作用はSET WATCHコマンドの作用の反対です。SET WATCH コマンドで特定の記憶位置に設定されたウォッチポイントを取り消すには,CANCEL WATCH で同じ記憶位置を指定します。したがって, 集合体全体に設定されたウォッチポイントを取り消すには,CANCEL WATCHコマンドでその集合体を指定します。集合体の1つの要素に設定されたウォッチポイントを取り消すには,CANCEL WATCH コマンドでその要素を指定します。

CANCEL ALLコマンドもすべてのウォッチポイントを取り消します。

ウォッチポイントを取り消す手間をかけずに,デバッガにそのウォッチポイントを無視させたい場合には,DEACTIVATE WATCH コマンドを使用してください。 あとで,ACTIVATE WATCHを使用してそのウォッチポイントを有効にすることができます。

関連コマンド


(ACTIVATE,DEACTIVATE,SET,SHOW) WATCH
CANCEL ALL
(SET,SHOW,CANCEL) BREAK
(SET,SHOW,CANCEL) TRACE

  1. DBG> CANCEL WATCH SUB2\TOTAL
    
    このコマンドはモジュールSUB2にある変数TOTALでのウォッチポイントを取り消します。

  2. DBG> CANCEL WATCH/ALL
    
    このコマンドはユーザが設定したすべてのウォッチポイントを取り消します。

CANCEL WINDOW

画面ウィンドウ定義を永久に削除します。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

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

パラメータ

window-name

取り消す画面ウィンドウ定義の名前を指定します。ワイルドカード文字のアスタリスク(*) は使用できません。代わりに/ALL修飾子を使用してください。/ALL を指定する場合は,ウィンドウ定義の名前は指定できません。

修飾子

/ALL

すべての定義済みウィンドウ定義とユーザ定義ウィンドウ定義を取り消します。

説明

ウィンドウ定義を取り消すと,その名前はDISPLAYコマンドで使用できなくなります。CANCEL WINDOW コマンドは表示にはまったく影響を及ぼしません。

関連コマンド


(SHOW,CANCEL) DISPLAY
(SET,SHOW) WATCH

    DBG> CANCEL WINDOW MIDDLE
    
    このコマンドは画面ウィンドウ定義のMIDDLEを永久に削除します。

CONNECT

他のプロセスでデバッガによる制御を受けずに実行されているイメージに割り込みをかけ, そのプロセスをデバッガの制御下に置きます。パラメータを指定しないでCONNECT を使用すると,CONNECTはデバッガに接続されるのを待っている作成されたプロセスすべてをデバッガの制御下に置きます。

このコマンドが使用できるのは,マルチプロセス・デバッグ構成(DBG$PROCESS の値がMULTIPROCESSの場合)か,DCLコマンドDEBUG/KEEP を使用してデバッガを起動した省略時のデバッグ構成のいずれかの場合です。

Alphaシステムの場合,CONNECTコマンドは,Alphaオペレーティング・システムを稼動しているターゲット・ システムをOpenVMS Alphaシステム・ コード・デバッガの制御下に置きます。OpenVMS Alphaシステム・コード・ デバッガは,OpenVMSデバッガから起動するカーネル・デバッガです。

CONNECTコマンドを使用してAlphaオペレーティング・システムをデバッグする場合は, このコマンドを実行する前に,『Writing OpenVMS Alpha Device Drivers in C 』の指示を完了していなければなりません。 これらの指示には,Alphaデバイス・ドライバの作成や,OpenVMS Alpha システム・コード・デバッガを起動するコマンドの設定などがあります。 また,OpenVMSデバッガをDCLコマンドのDEBUG/KEEP で起動していなければなりません。

フォーマット

    CONNECT   [process-spec]

    CONNECT   %NODE_NAME node-name

パラメータ

process-spec

割り込みをかけたいイメージが実行されているプロセスを指定します。 指定するプロセスはデバッガが起動されたプロセスと同じOpenVMSジョブにあるものでなければなりません。 次のいずれかの形式で指定します。

[%PROCESS_NAME] proc-name スペースや小文字を全く含まないOpenVMS プロセス名。プロセス名にはワイルドカード文字のアスタリスク(*) を含むこともできます。
[%PROCESS_NAME] "proc-name" スペースや小文字を含むOpenVMSプロセス名。二重引用符(")の代わりに一重引用符(') を使用することもできます。
%PROCESS_PID proc-id OpenVMSプロセス識別子(PID ,16進数)。

node-name

(Alphaのみ) Alphaオペレーティング・システムをデバッグするときは, 接続先のマシン(Alphaオペレーティング・システムを稼動しているターゲット・ マシン)のノードを指定します。

修飾子

/PASSWORD="password"

(Alphaのみ) Alphaオペレーティング・システムをデバッグするときは, 接続先のマシン(Alphaオペレーティング・システムを稼動しているターゲット・ マシン)に対するパスワードを指定します。そのマシンに対してパスワードが設定されていなかった場合は, この修飾子を省略することができます。

/IMAGE_PATH="image-path"

(Alphaのみ) Alphaオペレーティング・システムをデバッグするときは, 接続元のマシン(デバッガを実行しているホスト・マシン)に対するイメージ・ パスを指定します。イメージ・パスは,システム・イメージの位置を指し示す論理名です。 省略時の論理名定義はDBGHK$IMAGE_PATH:です。

説明

プロセスを指定するとき,CONNECTコマンドを使用すれば,指定するプロセスでデバッガによる制御を受けずに実行されているイメージに割り込みをかけ, そのプロセスをデバッガの制御下に置くことができます。このコマンドは,DCL コマンドのRUN/NODEBUGでデバッグ可能なイメージを実行している場合, またはプログラムがデバッガを起動しないLIB$SPAWN 実行時ライブラリ呼び出しを行う場合などに役立ちます。$CREPRCシステム・ サービス呼び出しで作成したプロセスには接続することはできません。

システムで実行中のデバッガのバージョンに応じて,ユーザは,ユーザが作成したプロセスとの接続に限定される場合もあり, また利用者識別コード(UIC) グループのメンバが作成したプロセスに接続することができる場合もあります。 ときには,プロセスの作成前にSYSGEN SECURITY_ POLICYパラメータを8に設定しなければならないことがあります。表 2-1 は,デバッガの個々のバージョンに適用される制限事項の一覧表です。

表 2-1 プロセス作成の制限事項(デバッガのバージョン別)

デバッガのバージョン 接続可能なプロセス SYSGENパラメータ設定の有無
VAXバージョン5.5-2以前,
Alphaバージョン6.0以前
ユーザ自身が起動したプロセス なし
VAXバージョン6.0 ユーザ自身が起動したプロセスと,UICグループのメンバが起動したプロセス あり
VAXバージョン6.1以降,
Alphaバージョン6.1以降
ユーザ自信が起動したプロセスと,UIC グループのメンバが起動したプロセス なし

デバッガの論理名(JSY$DEBUG, JSY$DEBUGSHR, JSY$DEBUGUISHR, JSY$DBGTBKMSG, DBG$PROCESS, JSY$DBG_HELP, JSY$DBG_UIHELP, DEBUGAPPCLASS, JSY$VMSDEBUGUIL)は,デバッガとターゲット・プロセスの両方で同一の定義に変換しなければなりません。

/DEBUG修飾子付きでコンパイルおよびリンクしておかなければなりません。 このイメージは,/NOTRACEBACK修飾子付きでリンクしておくことはできません。

プロセスがデバッガの制御下に置かれたとき,イメージの実行は割り込みをかけられた時点で中断されます。

プロセスを指定しないと,CONNECTコマンドはデバッグ・セッションに接続されるのを待っているプロセスすべてをデバッガの制御下に置きます。 待機中のプロセスがない場合には,Ctrl/Cを押せばCONNECTコマンドを強制終了することができます。

省略時の設定では,プロセスがデバッガの制御下に置かれると,トレースポイントが検出されます。 この定義済みトレースポイントはSET TRACE /ACTIVATINGコマンドを入力した結果生じるものと同じです。デバッガの制御下に置かれたプロセスはデバッガによって認識されるようになり, SHOW PROCESSコマンドで表示できるようになります。

CONNECTコマンドを使用して,デバッガの制御下にあるプロセスのサブプロセスに接続することはできません。 そのようなサブプロセスに接続するには,SET P ROCESS コマンドを使用してください。

CONNECTコマンドを使用したAlphaオペレーティング・ システムのデバッグ(Alphaのみ)

CONNECTコマンドを使用してOpenVMS Alpha System-Code Debugger (SCD) で,Alphaオペレーティング・システム・コードをデバッグできます。 通常,タイムシェアリング(ホスト) Alphaマシン(SCDが実行中の)からこのコマンドを実行して, スタンドアロンの(ターゲット) Alphaマシン(Alpha オペレーティング・システムが実行中の)に接続します。この2台のマシンの通信は, イーサネット・ネットワークを通じて行います。


注意
接続先のマシンでSCDに対して使用されるポートはまったく構成されないため,DECnet やLAT,ユーザ・ アプリケーションなどの他の目的で使用することはできません。したがって,SCD を使用しているときにDECnetを使用したり,クラスタ内で動作するには, そのトラフィックに対して別のイーサネット・ポートが必要です。

場合によっては,ロバスト性の低いDelta/XDeltaデバッガを使用してオペレーティング・ システム・コードをデバッグしなければならないこともあります。 たとえば,次のような場合です。

ただし,一般的にはOpenVMS AXPシステム・コード・デバッガの方がAlpha オペレーティング・システム・コードのデバッグによく使用されます。 このデバッガの使用法の詳細については,『Writing OpenVMS Alpha Device Drivers in C 』を参照してください。

関連コマンド


DISCONNECT
Ctrl/Y
(SET,SHOW,CANCEL) TRACE

  1. DBG_1> CONNECT
    
    このコマンドはデバッガに接続されるのを待っているプロセスをすべてデバッガの制御下に置きます。

  2. DBG_1> CONNECT JONES_3
    
    このコマンドはJONES_3というプロセスで実行されているイメージに割り込みをかけ, そのプロセスをデバッガの制御下に置きます。JONES_3プロセスはデバッガが起動されたプロセスと同じUIC グループになければなりません。 また,イメージは/NOTRACEBACK修飾子でリンクされていたものであってはなりません。

  3. DBG> CONNECT %NODE_NAME testing_node /PASSWORD="eager_beaver"
    %DEBUG-I-NOLOCALS, image does not contain local symbols
    DBG>
    
    Alphaシステムの場合,このCONNECTコマンドは,Alphaオペレーティング・ システム・コードを実行しているターゲット・システムをデバッガの制御下に置きます。 この例では,Alphaターゲット・マシン(オペレーティング・ システム側)のノード名にtesting_nodeを,パスワードにeager_beaver を指定しています。Alphaホスト・マシン(デバッガ側)のイメージ・ パスは省略時のDBGH K$IMAGE_PATH:です。

Ctrl/C

デバッグ・セッション中に入力された場合,Ctrl/Cはデバッグ・セッションを中断せずに, デバッガ・コマンドの実行を強制終了するか,プログラムの実行を中断します。


注意
デバッグ・セッション中はCtrl/Y は使用できません。

フォーマット

    <Ctrl/C>

説明

Ctrl/Cを押せば,デバッグ・セッションを中断せずに,デバッガ・ コマンドの実行を強制終了するか,プログラムの実行を中断できます。この機能は, たとえばプログラムがブレークポイントのない無限ループを実行している場合や, 完了するまでに長い時間を要するデバッガ・コマンドを強制終了したい場合に役立ちます。Ctrl/C を押すと,デバッガ・プロンプトが表示され, デバッガ・コマンドを入力できる状態になります。

Ctrl/C割り込みのあとは,イメージを実行していたマルチプロセス・プログラムのプロセスはどれも" 割り込みをかけられた"状態になります。

プログラムがすでにCtrl/C ASTサービス・ルーチンを使用可能にしている場合には,SET ABORT_KEY コマンドを使用して,デバッガの強制終了機能を他のCtrl キー・シーケンスに割り当てます。ただし,多くのCtrl キー・シーケンスの機能が定義済みであり,SET ABORT_KEYコマンドを使用すれば, そのような定義も上書きできることに注意してください( 『OpenVMSユーザーズ・マニュアル』を参照)。オペレーティング・ システムによって使用されていないCtrlキー文字としては,G,K, N,Pがあります。

プログラムがCtrl/C ASTサービス・ルーチンを使用可能にしていない 場合,デバッガの強制終了機能を他のCtrlキー・シーケンスに割り当てると,Ctrl/C はCtrl/Yと同じように動作します。つまり,デバッグ・ セッションに割り込みをかけ,DCLレベルに戻します。

デバッグ・セション中にはCtrl/Yは使用できません。代わりにCtrl/Cを使用するか,SET ABORT_KEY コマンドで設定した同等のCtrlキー・シーケンスを使用してください。

SPAWNコマンドとATTACHコマンドを使用すれば,デバッグ・コンテキストを失わずに, デバッグ・セッションから移行したり,デバッグ・セッションに戻ったりすることができます。

関連コマンド


ATTACH
Ctrl/Y
(SET,SHOW) ABORT_KEY
SPAWN

    DBG> GO
         . . .
        <Ctrl/C>
    DBG> EXAMINE/BYTE 1000:101000  !should have typed 1000:1010
    1000: 0
    1004: 0
    1008: 0
    1012: 0
    1016: 0
        <Ctrl/C>
    %DEBUG-W-ABORTED, command aborted by user request
    DBG>
    
    この例は,Ctrl/Cを使用して,プログラム実行を中断し,デバッガ・コマンドの実行を強制終了する方法を示しています。

Ctrl/W

Ctrl/Wは(DISPLAY/REFRESHと同様に)画面モードで画面を再表示します。

フォーマット

    <Ctrl/W>

説明

Ctrl/Wについての詳しい説明は,DISPLAYコマンドの/REFRESH修飾子の項目を参照してください。

Ctrl/Y

DCLレベルから入力されると,Ctrl/Yはデバッガ制御を受けずに実行されているイメージに割り込みをかけ, ユーザがDCLコマンドのDEBUGでデバッガを起動できるようにします。


注意
デバッグ・セッション中はCtrl/Y は使用できません。代わりにCtrl/Cを使用するか,SET ABORT_KEY コマンドで設定した同等の強制終了キー・シーケンスを使用してください。


注意
Ctrl/Y-DEBUGシーケンスでデバッガを起動したときは, デバッガのRUNコマンドもRERUNコマンドも使用できません。

フォーマット

    <Ctrl/Y>

説明

DCLレベルでCtrl/Yを押すと,デバッガによる制御を受けずに実行しているイメージに割り込みをかけ,DCL コマンドのDEBUGでデバッガを起動できるようになります。

イメージをデバッガの制御下に置くことができるのは,最低でも,イメージが/TRACEBACK 修飾子(/TRACEBACKはLINKコマンドの省略時の設定)でリンクされている場合だけです。 また,デバッグ中にイメージのシンボルすべてを参照できるのは, そのモジュールが/DEBUG修飾子でコンパイルされ, リンクされた場合だけです。この場合には,DCLコマンドのRUN/NODEBUGを使用すればデバッガを使用しないでイメージを実行できます。

イメージの実行に割り込みをかけるためにCtrl/Yを押すと,制御がDCLに渡されます。 そのあとDCLコマンドのDEBUGを入力すると,割り込みをかけられたイメージがデバッガの制御下に置かれます。 デバッガはその言語固有のパラメータを, 割り込みをかけられたモジュールのソース言語に設定し, プロンプトを表示します。プロンプトが表示されたら,ユーザはSHOW CALLSコマンド(マルチプロセス・プログラムの場合には,SHOW CALLSコマンドに加えてSHOW PROCESS コマンド)を入力することにより,どこで実行が中断されたのかを判断できます。

Ctrl/Y-DEBUGシーケンスの作用についてのこの他の詳しい説明は,デバッグ構成, つまり省略時の構成あるいはマルチプロセス構成かによって異なります。 デバッグ構成は割り込みをかけられたイメージが実行されていたプロセスの論理名DBG$PROCESS の現在の定義によって決まります。

Ctrl/Y-DEBUGシーケンスは,保持デバッガ(Kept Debugger)の構成では使用できません。

Ctrl/Y-DEBUGシーケンスは,デバッガへのDECwindows Motifインタフェースでは使用できません。 代わりに,STOPボタンを使用してください。

省略時のデバッグ構成

DBG$PROCESSが定義されていないときまたはその値がDEFAULTのときに,省略時のデバッグ構成が採用されます。 この場合には,Ctrl/Y-DEBUGシーケンスを使用してデバッガを起動するたびに新しい省略時のデバッグ・ セッションが開始されます( 例1を参照してください)。

マルチプロセス・デバッグ構成

マルチプロセス・デバッグ構成は,DBG$PROCESSがジョブ論理名テーブルにMULTIPROCESS と定義されているときに採用されます。この場合, Ctrl/Y-DEBUGシーケンスの作用は次のようになります。

デバッグ・セッション中は,CONNECTコマンドを使用して,(同じジョブの) 他のプロセスでデバッガ制御を受けずに実行されているイメージをそのデバッグ・ セッションに接続できます。

関連コマンド


CONNECT
Ctrl/C
DEBUG (DCLコマンド)
RUN (DCLコマンド)

  1. $ RUN/NODEBUG TEST_B
         . . .
        <Ctrl/Y>
    Interrupt
    $ DEBUG
    
               Debugger Banner and Version Number
    
    Language: ADA, Module: SWAP
    DBG>
    
    この例では,RUN/NODEBUGコマンドはデバッガによる制御を受けずにTEST_ Bイメージを実行します。Ctrl/Yで割り込みをかけます。すると,DEBUGコマンドによってデバッガが起動されます。 デバッガはバナーを表示し,割り込みをかけられたモジュール(SWAP) の言語(この場合にはAda)に言語固有のパラメータを設定します。 これが省略時のデバッグ構成です。DBG>プロンプトでそれを表しています。

  2. $ DEFINE/JOB DBG$PROCESS MULTIPROCESS
    $ RUN/NODEBUG PROG2
         . . .
        <Ctrl/Y>
    Interrupt
    $ DEBUG
    
               Debugger Banner and Version Number
    
    %DEBUG-I-INITIAL, language is Fortran, module set to SUB4
    Language: FORTRAN, Module: SUB4
    predefined trace on activation at SUB4\%LINE 12 in %PROCESS_NUMBER 1
    DBG_1>
    
    この例では,DEFINE/JOBコマンドによってマルチプロセス・デバッグ構成が設定されます。RUN/NODEBUG コマンドはデバッガの制御を受けずにPROG2 イメージを実行します。Ctrl/Y-DEBUGシーケンスは実行に割り込みをかけ, デバッガを起動します。バナーは新しいデバッグ・セッションが開始されたことを示します。 プロセス固有のプロンプト(DBG_1>)はこれがマルチプロセス構成であることと, 実行がプロセス1で中断されることを表します。 プロセス1はPROG2を実行中です。起動時トレースポイントはデバッガがプロセスを制御下に置いたときに実行が割り込みをかけられた場所を表します。

Ctrl/Z

Ctrl/Zは(EXITと同様に)デバッグ・セッションを終了します。

フォーマット

    <Ctrl/Z>

説明

Ctrl/Zについての詳しい説明は,EXITコマンドを参照してください。

DEACTIVATE BREAK

ブレークポイントを無効にします。そのブレークポイントはあとで有効にすることができます。

フォーマット

    DEACTIVATE BREAK   [address-expression[, . . . ]]

パラメータ

address-expression

無効にするブレークポイントを指定します。ワイルドカード文字のアスタリスク(*) は使用できません。代わりに/ALL修飾子を使用してください。/EVENT ,/PREDEFINEDまたは/USER以外の修飾子を使用する場合は,アドレス式は指定できません。

修飾子

/ACTIVATING

マルチプロセス・デバッグ構成(DBG$PROCESSの値がMULTIPROCESS の場合)に指定できます。前回のSET BREAK/ACTIVATINGコマンドで設定されたブレークポイントを無効にします。

/ALL

省略時の設定では,すべてのユーザ定義ブレークポイントを無効にします。/PREDEFINED といっしょに使用すると,定義済みブレークポイントはすべて無効になりますが, ユーザ定義ブレークポイントは無効になりません。 すべてのブレークポイントを無効にするには/ALL/USER/PREDEFINEDを使用します。

/BRANCH

前回のSET BREAK/BRANCHコマンドで設定されたブレークポイントを無効にします。

/CALL

前回のSET BREAK/CALLコマンドで設定されたブレークポイントを無効にします。

/EVENT=event-name

前回のSET BREAK/EVENT=event-nameコマンドで設定されたブレークポイントを無効にします。 イベント名(および必要であればアドレス式) はSET BREAK/EVENTコマンドで指定したとおりに指定してください。

現在のイベント機能とそれに対応するイベント名を表示するには,SHOW EVENT_FACILITYコマンドを使用します。

/EXCEPTION

前回のSET BREAK/EXCEPTIONコマンドで設定されたブレークポイントを無効にします。

/HANDLER

前回のSET BREAK/HANDLERコマンドによって設定されたブレークポイントを無効にします。

/INSTRUCTION

前回のSET BREAK/INSTRUCTIONコマンドで設定されたブレークポイントを無効にします。

/LINE

前回のSET BREAK/LINEコマンドで設定されたブレークポイントを無効にします。

/PREDEFINED

ユーザ定義ブレークポイントにはまったく影響を及ぼさずに, 指定の定義済みブレークポイントを無効にします。/ALLといっしょに使用すると, 定義済みブレークポイントがすべて無効になります。

/SYSEMULATE

(Alphaのみ)前に実行したSET BREAK/SYSEMULATEコマンドによって設定されたブレークポイントを無効にします。

/TERMINATING

前回のSET BREAK/TERMINATINGコマンドで設定されたブレークポイントを無効にします。

/UNALIGNED_DATA

(Alphaのみ)前回のSET BREAK/UNALIGNED_DATAコマンドで設定されたブレークポイントを無効にします。

/USER

ユーザ定義ブレークポイントを無効にします。すべてのユーザ定義ブレークポイントを無効にするには,/ALL 修飾子を使用します。

/VECTOR_INSTRUCTION

(VAXのみ)前回のSET BREAK/VECTOR_INSTRUCTIONコマンドで設定されたブレークポイントを無効にします。

説明

ユーザ定義ブレークポイントはSET BREAKコマンドで設定すると有効になります。 定義済みブレークポイントは省略時の状態で有効になります。1 つまたは複数のブレークポイントを無効にするにはDEACTIVATE BREAKコマンドを使用します。

ブレークポイントを無効にすると,デバッガはプログラムの実行中そのブレークポイントを無視します。 無効にされたブレークポイントを有効にするには,ACTIVATE BREAK コマンドを使用します。ユーザ定義ブレークポイントと定義済みブレークポイントは別々に有効にしたり, 無効にしたりすることができます。 ブレークポイントを有効にしたり無効にしたりすることにより, プログラムの実行や再実行のときに,ブレークポイントを取り消して再設定する手間をかけずに, ブレークポイントを使用したり使用しなかったりすることができます。 省略時の設定でRERUNコマンドを実行すると, すべてのブレークポイントの現在の状態(有効か無効か)が保存されます。

ブレークポイントが無効になっているかどうかを確かめるには,SHOW BREAKコマンドを使用します。

関連コマンド


CANCEL ALL
RERUN
(SET,SHOW,CANCEL,ACTIVATE) BREAK
(SET,SHOW) EVENT_FACILITY

  1. DBG> DEACTIVATE BREAK MAIN\LOOP+10
    
    このコマンドはアドレス式MAIN\LOOP+10で設定されたユーザ定義ブレークポイントを無効にします。

  2. DBG> DEACTIVATE BREAK/ALL
    
    このコマンドはすべてのユーザ定義ブレークポイントを無効にします。

DEACTIVATE TRACE

以前に設定したあと無効にしたトレースポイントを有効にします。

フォーマット

    DEACTIVATE TRACE   [address-expression[, . . . ]]

パラメータ

address-expression

有効にするトレースポイントを指定します。ワイルドカード文字のアスタリスク(*) は使用できません。代わりに/ALL修飾子を使用してください。/EVENT ,/PREDEFINED,/USER以外の修飾子を使用する場合は,アドレス式は指定できません。

修飾子

/ACTIVATING

マルチプロセス・デバッグ構成の場合(DBG$PROCESSの値がMULTIPROCESS の場合)に指定できます。前回のSET TRACE/ACTIVATINGコマンドで設定されたトレースポイントを有効にします。

/ALL

省略時の設定では,すべてのユーザ定義トレースポイントを有効にします。/PREDEFINED といっしょに使用すると,定義済みトレースポイントはすべて有効になりますが, ユーザ定義トレースポイントは有効になりません。 すべてのトレースポイントを有効にするには/ALL/USER/PREDEFINEDを使用します。

/BRANCH

前回のSET TRACE/BRANCHコマンドで設定されたトレースポイントを有効にします。

/CALL

前回のSET TRACE/CALLコマンドで設定されたトレースポイントを有効にします。

/EVENT=event-name

前回のSET TRACE/EVENT=event-nameコマンドで設定されたトレースポイントを有効にします。 イベント名(および必要であればアドレス式) はSET TRACE/EVENTコマンドで指定したとおりに指定してください。

現在のイベント機能とそれに対応するイベント名を表示するには,SHOW EVENT_FACILITYコマンドを使用します。

/EXCEPTION

前回のSET TRACE/EXCEPTIONコマンドで設定されたトレースポイントを有効にします。

/INSTRUCTION

前回のSET TRACE/INSTRUCTIONコマンドで設定されたトレースポイントを有効にします。

/LINE

前回のSET TRACE/LINEコマンドで設定されたトレースポイントを有効にします。

/PREDEFINED

ユーザ定義トレースポイントにはまったく影響を及ぼさずに指定の定義済みトレースポイントを有効にします。/ALL といっしょに使用すると, 定義済みトレースポイントがすべて有効になります。

/TERMINATING

前回のSET TRACE/TERMINATINGコマンドで設定されたトレースポイントを有効にします。

/USER

定義済みトレースポイントにはまったく影響を及ぼさずに指定のユーザ定義トレースポイントを有効にします。/ALL といっしょに使用すると, ユーザ定義トレースポイントがすべて有効になります。/PREDEFINEDを指定した場合を除き,/USER 修飾子が省略時の設定です。

/VECTOR_INSTRUCTION

(VAXのみ)前回のSET TRACE/VECTOR_INSTRUCTIONコマンドで設定されたトレースポイントを有効にします。

説明

ユーザ定義トレースポイントはSET TRACEコマンドで設定すると有効になります。 定義済みトレースポイントは省略時の設定で有効になります。DEACTIVATE TRACE を使用して無効にした1つまたは複数のトレースポイントを有効にするにはACTIVATE TRACE コマンドを使用します。

トレースポイントを有効にしたり無効にしたりすることにより,プログラムの実行や再実行のときに, トレースポイントを取り消して再設定する手間をかけずに, トレースポイントを使用したり使用しなかったりすることができます。 省略時の設定でRERUNコマンドを実行すると,すべてのトレースポイントの現在の状態( 有効か無効か)が保存されます。

有効や無効にするのはユーザ定義トレースポイントと定義済みトレースポイントのどちらか一方でも両方でもかまいません。 トレースポイントが有効になっているかを確かめるには,SHOW TRACE コマンドを使用してください。

関連コマンド


CANCEL ALL
RERUN
(SET,SHOW) EVENT_FACILITY
(SET,SHOW,CANCEL,ACTIVATE) TRACE

  1. DBG> DEACTIVATE TRACE MAIN\LOOP+10
    
    このコマンドはMAIN\LOOP+10の位置にあるユーザ定義トレースポイントを有効にします。

  2. DBG> DEACTIVATE TRACE/ALL
    
    このコマンドはユーザ定義トレースポイントをすべて有効にします。

DEACTIVATE WATCH

以前に設定したあと無効にしたウォッチポイントを有効にします。

フォーマット

    DEACTIVATE WATCH   [address-expression[, . . . ]]

パラメータ

address-expression

有効にするウォッチポイントを指定します。高級言語を使用している場合, これは通常,変数の名前になります。ワイルドカード文字のアスタリスク(*) は使用できません。代わりに/ALL修飾子を使用してください。/ALL を指定する場合は,アドレス式は指定できません。

修飾子

/ALL

すべてのウォッチポイントを有効にします。

説明

ウォッチポイントはSET WATCHコマンドで設定すると有効になります。DEACTIVATE WATCH で無効にした1つまたは複数のウォッチポイントを有効にするにはACTIVATE WATCH コマンドを使用します。

ウォッチポイントを有効にしたり無効にしたりすることにより,プログラムの実行や再実行のときに, ウォッチポイントを取り消して再設定する手間をかけずに, ウォッチポイントを使用したり使用しなかったりすることができます。

省略時の設定では,RERUNコマンドを実行すると,すべての静的ウォッチポイントの現在の状態( 有効か無効か)が保存されます。特定の非静的ウォッチポイントは,( 実行を再開する)メイン・プログラム・ユニットを基準にした, ウォッチの対象になっている変数の有効範囲によって保存されることもあり, 保存されないこともあります。

ウォッチポイントが有効になっているかを確かめるには,SHOW WATCHコマンドを使用します。

関連コマンド


CANCEL ALL
RERUN
(SET,SHOW,CANCEL,ACTIVATE) WATCH

  1. DBG> DEACTIVATE WATCH SUB2\TOTAL
    
    このコマンドはモジュールSUB2の中のTOTAL変数でのウォッチポイントを有効にします。

  2. DBG> DEACTIVATE WATCH/ALL
    
    このコマンドは設定したあと無効にしたすべてのウォッチポイントを有効にします。

DECLARE

コマンド・プロシージャの中で仮パラメータを宣言します。これにより,@ ( 実行プロシージャ)コマンドの入力時に実パラメータを渡すことができます。

フォーマット

    DECLARE   p-name:p-kind [,p-name:p-kind[, . . . ]]

パラメータ

p-name

コマンド・プロシージャの中で宣言される仮パラメータ(シンボル)を指定します。

(連続する2つのコンマまたはコマンドの最後のコンマで表される)空パラメータは指定できません。

p-kind

仮パラメータのパラメータ種別を指定します。有効なキー・ワードは次のとおりです。

ADDRESS 実パラメータをアドレス式として解釈することを指定します。 DEFINE/ADDRESS p-name = actual-parameterと同じ働きです。
COMMAND 実パラメータをコマンドとして解釈することを指定します。 DEFINE/COMMAND p-name = actual-parameterコマンドと同じ働きです。
VALUE 実パラメータを現在の言語での値式として解釈することを指定します。 DEFINE/VALUE p-name = actual-parameterと同じ働きです。

説明

DECLAREコマンドはコマンド・プロシージャの中でだけ有効です。

DECLAREコマンドは,@ (実行プロシージャ)コマンドに続くコマンド行に指定された1 つまたは複数の実パラメータを,コマンド・プロシージャの中で宣言された仮パラメータ( シンボル)にバインドします。

DECLAREコマンドで指定される各p-name:p-kindの組は1つの仮パラメータを1 つの実パラメータにバインドします。仮パラメータはデバッガがパラメータ宣言を処理する順番で実パラメータにバインドされます。1 つのDECLAREコマンドに複数の仮パラメータを指定すると,左端の仮パラメータが最初の実パラメータにバインドされ, 次の仮パラメータが2 番目の実パラメータにバインドされるというようになります。DECLAREコマンドをループで使用すると, 仮パラメータはループの1回目の最初の実パラメータにバインドされます。 そして同じ仮パラメータが2回目の2番目の実パラメータにバインドされるというようになります。

各パラメータ宣言はDEFINEコマンドと同様に動作します。指定されたパラメータ種別に従って, アドレス式,コマンドまたは現在の言語での値式に仮パラメータを対応づけるのです。 仮パラメータそのものはDEFINEコマンドで受け入れられるものと一致しており, 実際にDELETEコマンドでシンボル・ テーブルから削除することができます。

%PARCNT組み込みシンボルはコマンド・プロシージャの中でだけ使用できます。 これを使用すれば,可変数のパラメータをコマンド・プロシージャに渡すことができます。%PARCNT の値はコマンド・プロシージャに渡される実パラメータの数です。

関連コマンド


@ (実行プロシージャ)
DEFINE
DELETE

  1. ! ***** コマンド・プロシージャ EXAM.COM *****
    SET OUTPUT VERIFY
    DECLARE K:ADDRESS
    EXAMINE K
    
    DBG> @EXAM ARR4
    %DEBUG-I-VERIFYIC, entering command procedure EXAM
     DECLARE K:ADDRESS
     EXAMINE K
    PROG_8\ARR4
        (1):        18
        (2):        1
        (3):        0
        (4):        1
    %DEBUG-I-VERIFYIC, exiting command procedure EXAM
    DBG>
    
    この例では,DECLARE K:ADDRESSコマンドはコマンド・プロシージャEXAM.COM の内部の仮パラメータKを宣言しています。EXAM.COMを実行すると,EXAM.COM に渡される実パラメータはアドレス式として解釈され, EXAMINE Kコマンドはそのアドレス式の値を表示します。SET OUTPUT VERIFYコマンドを実行すると,コマンドをデバッガが読んだときに,それらのコマンドがエコーバックされます。

    デバッガ・プロンプトが表示された状態で,@EXAM ARR4コマンドはEXAM.COM を実行し,実パラメータARR4を渡します。EXAM.COMの中では,ARR4 はアドレス式(この場合には配列変数)として解釈されます。

  2. ! ***** デバッガ・コマンド・プロシージャ EXAM_GO.COM *****
    DECLARE L:ADDRESS, M:COMMAND
    EXAMINE L; M
    
    DBG> @EXAM_GO X "@DUMP"
    
    この例では,コマンド・プロシージャEXAM_GO.COMはアドレス式(L)とコマンド文字列(M) の2つのパラメータを受け付けます。そしてアドレス式がチェックされ, コマンドが実行されます。

    デバッガ・プロンプトが表示された状態で,@EXAM_GO X "@DUMP"コマンドはEXAM_GO.COM を実行し,アドレス式Xとコマンド文字列の@DUMPを渡します。

  3. ! ***** デバッガ・コマンド・プロシージャ VAR.DBG *****
    SET OUTPUT VERIFY
    FOR I = 1 TO %PARCNT DO (DECLARE X:VALUE; EVALUATE X)
    DBG> @VAR.DBG 12,37,45
    %DEBUG-I-VERIFYIC, entering command procedure VAR.DBG
     FOR I = 1 TO %PARCNT DO (DECLARE X:VALUE; EVALUATE X)
    12
    37
    45
    %DEBUG-I-VERIFYIC, exiting command procedure VAR.DBG
    DBG>
    
    この例では,コマンド・プロシージャVAR.DBGが受け取るパラメータの個数は固定されていません。 パラメータの個数は組み込みシンボル%PARCENT に格納されます。

    デバッガ・プロンプトが表示された状態で,@VAR.DBGコマンドはVAR.DBG を実行し,実パラメータ12,37,45を渡します。したがって,%PARCNT の値は3になり,FORループが3回繰り返されます。FORループにより,DECLARE コマンドは3つの実パラメータ(12から始まる)の各々をX の新しい宣言にバインドするようになります。各実パラメータは現在の言語での値式として解釈され,EVALUATE X コマンドがその値を表示します。

DEFINE

アドレス式,コマンドまたは値にシンボリック名を割り当てます。

フォーマット

    DEFINE   symbol-name=parameter [,symbol-name=parameter[, . . . ]]

パラメータ

symbol-name

アドレス,コマンドまたは値に割り当てるシンボリック名を指定します。 シンボリック名は英字とアンダスコアで構成できます。デバッガは英小文字を大文字に変換します。 先頭文字は数字であってはなりません。シンボリック名は31 文字を超えてはなりません。

parameter

指定された修飾子によって異なります。

修飾子

/ADDRESS

省略時の設定。定義したシンボルがアドレス式の短縮形であることを指定します。 この場合,parameterはアドレス式になります。

/COMMAND

定義したシンボルを新しいデバッガ・コマンドとして扱うことを指定します。 この場合,parameterは引用符で囲まれた文字列になります。 この修飾子は,単純な場合には基本的に次のDCLコマンドと同じ機能を提供します。
     $ symbol := string

複雑なコマンドを定義するには,仮パラメータ付きのコマンド・プロシージャの使用が必要となることがあります。 コマンド・プロシージャに対するパラメータの宣言についての詳しい説明は,DECLARE コマンドを参照してください。

/LOCAL

定義されたコマンド・プロシージャ内でのみ有効になるように定義を指定します。 定義されたシンボルはデバッガ・コマンド・レベルでは可視状態ではありません。 省略時の設定では,コマンド・プロシージャの中で定義されたシンボルはそのプロシージャの外では可視状態になります。

/VALUE

定義されたシンボルが値の短縮形であることを指定します。 この場合, parameterは現在の言語での言語式になります。

説明

DEFINE/ADDRESSコマンドを使用すれば,プログラム内のアドレス式にシンボリック名を割り当てられます。 たとえば,シンボル以外のプログラム記憶位置に対してか, 長いパス名接頭識別子を持つシンボルのプログラム記憶位置に対してシンボルを定義できます。 シンボルを定義したら, そのプログラム記憶位置を新しく定義したシンボルで参照できるようになります。/ADDRESS 修飾子が省略時の設定です。

DEFINE/COMMANDコマンドを使用すれば,デバッガ・コマンド・レベルまたはコマンド・ プロシージャから,デバッガ・コマンドの短縮形を定義するか, 新しいコマンドを定義することができます。

DEFINE/VALUEコマンドを使用すれば,シンボリック名を値(または言語式を評価する結果) に割り当てられます。

シンボル定義をコマンド・プロシージャ内に限定するには,/LOCAL修飾子を使用します。 省略時の設定では,定義されたシンボルはグローバル(コマンド・ プロシージャの外で可視状態)になります。

同じ修飾子を使用して複数のDEFINEコマンドを入力する場合は,まずSET DEFINEコマンドを使用して新しい省略時の修飾子を設定できます。たとえば,SET DEFINE COMMAND を使用すれば,DEFINEコマンドがDEFINE/COMMAND と同じように動作するようになります。そのあと,DEFINEコマンドで同じ修飾子を使用する必要はありません。 他の修飾子を指定することにより,1 つのDEFINEコマンドの継続中に現在の省略時の修飾子を上書きできます。

シンボル変換では,デバッガはまずデバッグ・セッションの間に定義されたシンボルを検索します。 したがって,プログラムにすでに存在しているシンボルが定義されると, パス名の接頭識別子が指定された場合を除き, デバッガはそのシンボルをもともと定義されていた定義に従って変換します。

シンボルを再定義すると,DEFINEコマンドで異なる修飾子を使用していた場合でも, もとの定義は取り消されます。

DEFINE/ADDRESSコマンドとDEFINE/VALUEコマンドで作成された定義は,それらが作成されたコンテキストの中のイメージが現在のイメージになっているときだけ使用できます。 新しい現在のイメージを設定するためにSET IMAGEコマンドを使用すると,これらの定義は一時的に使用できない状態になります。 ただし,DEFINE/COMMANDコマンドとDEFINE/KEYコマンドで作成された定義はいつでもすべてのイメージに使用できます。

シンボルの同値を求めるにはSHOW SYMBOL/DEFINEDコマンドを使用します。

シンボル定義を取り消すにはDELETEコマンドを使用します。

関連コマンド


DECLARE
DELETE
SET IMAGE
SHOW DEFINE
SHOW SYMBOL/DEFINED

  1. DBG> DEFINE CHK=MAIN\LOOP+10
    
    このコマンドはシンボルCHKをアドレスMAIN\LOOP+10に割り当てます。

  2. DBG> DEFINE/VALUE COUNTER=0
    DBG> SET TRACE/SILENT R DO (DEFINE/VALUE COUNTER = COUNTER+1)
    
    この例では,DEFINE/VALUEコマンドは値の0をCOUNTERシンボルに割り当てます。SET TRACE コマンドを使用すると,デバッガはアドレスRが検出されるたびにシンボルCOUNTER の値を1だけ増分します。つまり,この例ではR への呼び出し回数を数えているのです。

  3. DBG> DEFINE/COMMAND BRE = "SET BREAK"
    
    このコマンドはシンボルBREをデバッガ・コマンドのSET BREAKに割り当てます。

DEFINE/KEY

ファンクション・キーに文字列を割り当てます。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

    DEFINE/KEY   key-name "equivalence-string"

パラメータ

key-name

文字列を割り当てるファンクション・キーを指定します。有効なキー名は次のとおりです。

キー名 LK201キーボード VT100型 VT52型
PF1 PF1 PF1 Blue
PF2 PF2 PF2 Red
PF3 PF3 PF3 Black
PF4 PF4 PF4
KP0-KP9 キーパッドの0〜9 キーパッドの0〜9 キーパッドの0〜9
PERIOD キーパッドのピリオド(.) キーパッドのピリオド(.)
COMMA キーパッドのコンマ(,) キーパッドのコンマ(,)
MINUS キーパッドのマイナス(-) キーパッドのマイナス(-)
MINUS キーパッドのマイナス(-) キーパッドのマイナス(-)
ENTER Enter ENTER ENTER
E1 Find

E2 Insert Here

E3 Remove

E4 Select

E5 Prev Screen

E6 Next Screen

HELP Help

DO Do

F6-F20 F6-F20

LK201キーボードでは,次のようになります。

equivalence-string

指定のキーが押されたときに処理する文字列を指定します。通常, これは1つまたは複数のデバッガ・コマンドになります。文字列にスペースまたは英数字以外の文字( たとえば,2つのコマンドを分けるセミコロン) が含まれている場合には,文字列を二重引用符(")で囲んでください。

修飾子

/ECHO (省略時の設定)
/NOECHO

キーが押されたあとにコマンド行を表示するかどうかを制御します。/NOTERMINATE を指定する場合は,/NOECHOは使用できません。

/IF_STATE=(state-name[, . . . ])
/NOIF_STATE (省略時の設定)

キー定義が適用される1つまたは複数の状態を指定します。 /IF_STATE修飾子は指定された状態にキー定義を割り当てます。DEFAULTやGOLD などの定義済み状態またはユーザ定義状態を指定できます。状態名は適切な英数字文字列にすることができます。/NOIF_STATE 修飾子を使用すると, キー定義が現在の状態に割り当てられます。

/LOCK_STATE
/NOLOCK_STATE (省略時の設定)

指定のキーを押したあと,/SET_STATEで設定された状態がどれだけの間有効であり続けるかを制御します。/LOCK_STATE 修飾子を指定すると, 状態は(たとえばSET KEY/STATEコマンドにより)明示的に変更されるまで有効のままです。/NOLOCK_STATE 修飾子を指定すると,次の終了文字が入力されるまで, または次の定義済みファンクション・キーが押されるまでの間だけしか状態は有効ではありません。

/LOG (省略時の設定)
/NOLOG

キー定義が正常に作成されていることを示すメッセージを表示するかどうかを制御します。/LOG 修飾子を指定すると,メッセージが表示されます。/NOLOG 修飾子を指定すると,メッセージは表示されません。

/SET_STATE=state-name
/NOSET_STATE (省略時の設定)

キーを押して現在のキー状態を変化させるかどうかを制御します。/SET_STATE 修飾子を指定すると,キーを押したときに現在の状態が指定の状態に変化します。/NOSET_STATE 修飾子を指定すると,現在の状態がそのまま有効になります。

/TERMINATE
/NOTERMINATE (省略時の設定)

キーを押したときに指定の文字列を終了(処理)するかどうかを制御します。/TERMINATE 修飾子を指定すると,キーを押したときに文字列が終了します。/NOTERMINATE 修飾子を指定すると,Returnキーを押して文字列を終了する前に他のキーを押すことができます。

説明

このコマンドを使用する前にキーパッド・モードが使用できる状態(SET MODE KEYPAD) に設定しておかなければなりません。省略時の設定では, キーパッド・モードは使用可能です。

DEFINE/KEYコマンドを使用すれば,ファンクション・キーに文字列を割り当て, そのキーにバインドされている定義済みの機能を上書きできます。 そのあと,そのキーを押すと,デバッガは現在対応づけられている文字列をコマンド行に入力します。DEFINE/KEY コマンドはDCLコマンドのDEFINE/KEY に似ています。

定義済みのキー機能のリストについては,「CIのキーパッド定義」オンライン・ ヘルプ・トピックを参照してください。

VT52シリーズとVT100シリーズの端末では,ユーザが使用できるファンクション・ キーは数値キーパッド・キーです。これより新しい端末やワークステーションにはLK201 のキーボードが備っています。LK201のキーボードで使用できるファンクション・ キーとしては,数値キーパッド・キー全部, 編集キーパッドの矢印以外のキー(Find,Insert Hereなど),キーボードの上部にあるF6 からF20のキーなどがあります。

キー定義は,そのキーが再定義されるか,そのキーに対してDELETE/KEYコマンドが入力されるか, デバッガが終了されるまで有効です。デバッガ初期化ファイルなどのコマンド・ プロシージャにはキー定義を含めることができます。

/IF_STATE修飾子を使用すれば,端末で使用できるキー定義の数を増加できます。 各定義が異なる状態に対応づけられているかぎり,同じキーにいくつでも定義を割り当てられます。

省略時の状態では,現在のキー状態は"DEFAULT"状態です。現在の状態はSET KEY/STATE コマンドを使用するか,状態を変更するキー(DEFINE/KEY /LOCK_STATE/SET_STATEで定義されたキー)を押すことにより変更できます。

関連コマンド


DELETE/KEY
(SET,SHOW) KEY

  1. DBG> SET KEY/STATE=GOLD
    %DEBUG-I-SETKEY, keypad state has been set to GOLD
    DBG> DEFINE/KEY/TERMINATE KP9 "SET RADIX/OVERRIDE HEX"
    %DEBUG-I-DEFKEY, GOLD key KP9 has been defined
    
    この例では,SET KEYコマンドは現在のキー状態としてGOLDを設定しています。/DEFINE/KEY コマンドはSET RADIX/OVERRIDE HEXコマンドを現在の状態(GOL D) のキーパッド・キー9 (KP9)に割り当てます。このコマンドはKP9 キーが押されると処理されます。

  2. DBG> DEFINE/KEY/IF_STATE=BLUE KP9 "SET BREAK %LINE "
    %DEBUG-I-DEFKEY, BLUE key KP9 has been defined
    
    このコマンドは,未完成のコマンド文字列"SET BREAK %LINE"をBLUE状態のキーパッド・ キー9に割り当てます。BLUE-KP9を押したあと,行番号を入力してReturn キーを押せば,SET BREAKコマンドを終了して処理することができます。

  3. DBG> SET KEY/STATE=DEFAULT
    %DEBUG-I-SETKEY, keypad state has been set to DEFAULT
    DBG> DEFINE/KEY/SET_STATE=RED/LOCK_STATE F12 ""
    %DEBUG-I-DEFKEY, DEFAULT key F12 has been defined
    
    この例では,SET KEYコマンドは現在の状態としてDEFAULTを設定します。 DEFINE/KEYコマンドは(LK201キーボード上の) F12キーを状態キーにします。DEFAULT 状態にあるときにF12キーを押すと,現在の状態がREDになります。 キー定義は終了されず,他に何の作用も持ちません(空文字列がF12 に割り当てられたことになります)。F12キーを押したあと,RED状態に対応づけられている定義を持つキーを押せば,"RED" コマンドを入力できます。

DEFINE/PROCESS_GROUP

シンボリック名をプロセス指定のリストに割り当てます。

マルチプロセス・デバッグ構成の場合(DBG$PROCESSの値がMULTIPROCESSの場合) に指定できます。

フォーマット

    DEFINE/PROCESS_GROUP   process-group-name =process-spec[, . . . ]

パラメータ

process-group-name

プロセス指定のリストに割り当てるシンボリック名を指定します。シンボリック名は英数字とアンダスコアで構成することができます。 デバッガは英小文字を英大文字に変換します。 先頭文字は数字でなければなりません。 シンボリック名は31文字を超えてはなりません。

process-spec

現在デバッガの制御下にあるプロセスを指定します。次のいずれかの形式で指定します。

[%PROCESS_NAME] proc-name スペースや小文字を全く含まないプロセス名。プロセス名にはワイルドカード文字のアスタリスク(*) を含むこともできます。
[%PROCESS_NAME] "proc-name" スペースや小文字を含むプロセス名。二重引用符(")の代わりに一重引用符(') を使用することもできます。
%PROCESS_PID proc-id プロセス識別子(PID ,16進数)。
%PROCESS_NUMBER proc-number (または%PROC proc-number) デバッガの制御下に入ったときにプロセスに割り当てられた番号。 プロセス番号はSHOW PROCESS コマンドの実行で表示されます。
proc-group-name DEFINE/PROCESS_ GROUPコマンドで定義された,プロセスのグループを表すシンボル。 再帰的なシンボル定義を指定してはなりません。
%NEXT_PROCESS デバッガの循環プロセス・ リスト中で可視プロセスの次のプロセス。
%PREVIOUS_PROCESS デバッガの循環プロセス・ リスト中で可視プロセスの前のプロセス。
%VISIBLE_PROCESS シンボル,レジスタ値,ルーチン呼び出し, ブレークポイントなどの検索時に現在のコンテキストになっている呼び出しスタック, レジスタ・セット,およびイメージを持つプロセス。

プロセスを指定しないと,シンボリック名は作成されますが,プロセス・ エントリは含まれません。

説明

DEFINE/PROCESS_GROUPコマンドはプロセス指定のリストにシンボルを割り当てます。 割り当てたシンボルは,プロセス指定のリストが許されているコマンドであればどの中でも使用できます。

DEFINE/PROCESS_GROUPコマンドは指定されたプロセスの有無を調べません。 このため,まだ存在していないプロセスでも指定できます。

DEFINE/PROCESS_GROUPコマンドで定義されたシンボルを表示するには, SHOW SYMBOL/DEFINEDコマンドを使用します。DEFINE/PROCESS_GROUPコマンドで定義されたシンボルを削除するには,DELETE コマンドを使用します。

関連コマンド


DELETE
(SET,SHOW) DEFINE
SHOW SYMBOL/DEFINED

  1. DBG_1> DEFINE/PROCESS_GROUP SERVERS=FILE_SERVER,NETWORK_SERVER
    DBG_1> SHOW PROCESS SERVERS
     Number  Name         Hold  State   Current PC
    *    1 FILE_SERVER          step    FS_PROG\%LINE 37
         2 NETWORK_SERVER       break   NET_PROG\%LINE 24
    DBG_1>
    
    このDEFINE/PROCESS_GROUPコマンドはシンボリック名SERVERSをFILE_ SERVERとNETWORK_SERVERで構成されるプロセス・グループに割り当てます。SHOW PROCESS SERVERS コマンドはSERVERSグループを構成するプロセスについての情報を表示します。

  2. USER_3> DEFINE/PROCESS_GROUP G1=%PROCESS_NUMBER 1,%VISIBLE_PROCESS
    USER_3> SHOW SYMBOL/DEFINED G1
    defined G1
        bound to: "%PROCESS_NUMBER 1, %VISIBLE_PROCESS"
        was defined /process_group
    USER_3> DELETE G1
    
    このDEFINE/PROCESS_GROUPコマンドはシンボリック名G1をプロセス1と可視プロセス( プロセス3)で構成されるプロセス・グループに割り当てます。SHOW SYMBOL/DEFINED G1 コマンドは定義されたシンボルG1を表示します。DELETE G1 コマンドはDEFINEシンボル・テーブルからそのシンボルを削除します。

  3. DBG_2> DEFINE/PROCESS_GROUP A = B,C,D
    DBG_2> DEFINE/PROCESS_GROUP B = E,F,G
    DBG_2> DEFINE/PROCESS_GROUP E = I,J,A
    %DEBUG-E-NORECSYM, recursive PROCESS_GROUP symbol definition
         encountered at or near "A"
    
    この一連のDEFINE/PROCESS_GROUPコマンドはDEFINE/PROCESS_GROUPコマンドの無効な用法と有効な用法を示しています。

DELETE

DEFINEコマンドで設定されたシンボル定義を削除します。

フォーマット

    DELETE   [symbol-name[, . . . ]]

パラメータ

symbol-name

その定義をDEFINEシンボル・テーブルから削除するシンボルを指定します。 ワイルドカード文字のアスタリスク(*)は使用できません。代わりに/ALL 修飾子を使用してください。/ALLを使用する場合は,シンボル名は指定できません。/LOCAL 修飾子を使用する場合,指定するシンボルはDEFINE/LOCAL コマンドで事前に定義されていたものでなければなりません。/LOCAL を指定しない場合には,指定されるシンボルは/LOCALを指定しないでDEFINE コマンドで事前に定義されていたものでなければなりません。

修飾子

/ALL

すべてのグローバルDEFINE定義を削除します。/ALL/LOCAL を使用すると,現在のコマンド・プロシージャに対応づけられたローカルなDEFINE 定義はすべて削除されます(グローバルDEFINE定義は削除されません) 。

/LOCAL

指定されたシンボルの(ローカル)定義を現在のコマンド・ プロシージャから削除します。 指定するシンボルはDEFINE/LOCALコマンドで事前に定義されていたものでなければなりません。

説明

DELETEコマンドはグローバルなDEFINEシンボルまたはローカルなDEFINE シンボルを削除します。グローバルなDEFINEシンボルは/LOCAL修飾子を指定せずにDEFINE コマンドにより定義されたシンボルです。ローカルなDEFINE シンボルはDEFINE/LOCALコマンドによりデバッガ・コマンド・プロシージャで定義されたシンボルです。 そのため,その定義はそのコマンド・ プロシージャ内に限定されます。

関連コマンド


DECLARE
DEFINE
SHOW DEFINE
SHOW SYMBOL/DEFINED

  1. DBG> DEFINE X = INARR, Y = OUTARR
    DBG> DELETE X,Y
    
    この例では,DEFINEコマンドはXとYをそれぞれINARRとOUTARRに対応するグローバル・ シンボルとして定義します。DELETEコマンドはこの2つのシンボル定義をグローバル・ シンボル・テーブルから削除します。

  2. DBG> DELETE/ALL/LOCAL
    
    このコマンドはすべてのローカル・シンボル定義を現在のコマンド・プロシージャから削除します。

DELETE/KEY

DELETE/KEYコマンドで設定されたキー定義および省略時にデバッガによって設定されたキー定義を削除します。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

    DELETE/KEY   [key-name]

パラメータ

key-name

キー定義を削除するキーを指定します。ワイルドカード文字のアスタリスク(*) は使用できません。代わりに/ALL修飾子を使用してください。/ALL を指定する場合は,キー名は指定できません。有効なキー名は次のとおりです。

キー名 LK201キーボード VT100型 VT52型
PF1 PF1 PF1 Blue
PF2 PF2 PF2 Red
PF3 PF3 PF3 Black
PF4 PF4 PF4
KP0-KP9 Keypad 0-9 Keypad 0-9 Keypad 0-9
KP0-KP9 キーパッドの0〜9 キーパッドの0〜9 キーパッドの0〜9
PERIOD キーパッドのピリオド(.) キーパッドのピリオド(.)
COMMA キーパッドのコンマ(,) キーパッドのコンマ(,)
MINUS キーパッドのマイナス(-) キーパッドのマイナス(-)
MINUS キーパッドのマイナス(-) キーパッドのマイナス(-)
ENTER Enter ENTER ENTER
E1 Find

E2 Insert Here

E3 Remove

E4 Select

E5 Prev Screen

E6 Next Screen

HELP Help

DO Do

F6-F20 F6-F20

修飾子

/ALL

指定された状態のキー定義をすべて削除します。状態を指定しないと, 現在の状態のキー定義がすべて削除されます。1つまたは複数の状態を指定するには,/STATE= state-nameを使用します。

/LOG (省略時の設定)
/NOLOG

指定されたキー定義が削除されていることを示すメッセージを表示するかどうかを制御します。/LOG 修飾子(これが省略時の設定)を指定すると, メッセージが表示されます。/NOLOG修飾子を指定すると,メッセージは表示されません。

/STATE=(state-name [, . . . ])
/NOSTATE (省略時の設定)

キー定義を削除したい状態を選択します。/STATE修飾子を指定すると, 指定した状態に対するキー定義が削除されます。DEFAULTやGOLDなどの定義済みキー状態またはユーザ定義状態を指定できます。 状態名は適切な英数字文字列にすることができます。/NOSTATE 修飾子を指定すると,現在の状態に対するキー定義だけが削除されます。

省略時の設定では,現在のキーの状態は"DEFAULT "状態です。現在の状態はSET KEY/STATE コマンドを使用するか,状態を変更するキー(DEFINE/KEY /LOCK_STATE/SET_STATEで定義されたキー)を押すことにより変更できます。

説明

DELETE/KEYコマンドはDCLコマンドのDELETE/KEYと似ています。

このコマンドを使用する前にキーパッド・モードが使用可能な状態(SET MODE KEYPAD)に設定されていなければなりません。省略時の設定では,キーパッド・ モードは使用可能です。

関連コマンド


DEFINE/KEY
(SET,SHOW) KEY

  1. DBG> DELETE/KEY KP4
    %DEBUG-I-DELKEY, DEFAULT key KP4 has been deleted
    
    このコマンドは前回SET KEYコマンドで設定された状態(省略時の設定では, これはDEFAULT状態)でKP4に対するキー定義を削除します。

  2. DBG> DELETE/KEY/STATE=(BLUE,RED) COMMA
    %DEBUG-I-DELKEY, BLUE key COMMA has been deleted
    %DEBUG-I-DELKEY, RED key COMMA has been deleted
    
    このコマンドはBLUEとREDの状態でCOMMAキーに対するキー定義を削除します。

DEPOSIT

プログラム変数の値を変更します。より通常は,アドレス式で示される記憶位置に新しい値を格納します。

フォーマット

    DEPOSIT   address-expression = language-expression

パラメータ

address-expression

言語式の値を格納する記憶位置を指定します。高級言語を使用する場合, これは通常,変数の名前になり,変数を一意に指定するためのパス名を含めることができます。 典型的なアドレス式は,メモリ・アドレスやレジスタであったり, 数字(オフセット)やシンボルだけでなく1つまたは複数の演算子やオペランド, 区切り文字などで構成されていたりします。レジスタのデバッガ・ シンボルについての詳しい説明とアドレス式の中で使用できる演算子についての詳しい説明は, 「組み込みシンボル」と「アドレス式」のヘルプ・ トピックを参照してください。

集合体変数全体(配列またはレコードなどの複合データ構造)は指定できません。 個々の配列要素またはレコードの構成要素を指定するには,現在の言語の構文に従ってください。

language-expression

格納する値を指定します。現在の言語で有効な言語式であればどれでも指定できます。 ほとんどの言語の場合,式には単純変数(複合でない単一値) の名前をいれることはできますが,集合体変数(配列やレコードなど) の名前はいれられません。式に異なるコンパイラ生成型が含まれている場合には, デバッガはその式を評価するために現在の言語の規則を使用します。

式がASCII文字列またはアセンブリ言語命令の場合には,その式を二重引用符(") または一重引用符( ')で囲まなければなりません。文字列に二重引用符も一重引用符も含まれていない場合には, 他の区切り文字を使用してその文字列を囲んでください。

文字列に含まれている文字数(ASCII,バイト単位)がアドレス式で示されるプログラム記憶位置に収まる文字数より多い場合には, デバッガは右側から余分な文字を切り捨てます。 文字列に含まれている文字数が少ない場合には, デバッガは文字列の右側にASCIIスペース文字を挿入することにより足りない文字を埋め込みます。

修飾子

/ASCIC
/AC

指定された長さのASCII文字列を指定された記憶位置に格納します。 文字列は等号の右側に指定しなければなりません。格納される文字列の前には, 文字列の長さを指定する1バイトのカウント・フィールドが付きます。

/ASCID
/AD

指定された記憶位置にある文字列ディスクリプタによって指定されるアドレスに ASCII 文字列を格納します。引用符で囲まれた文字列は等号の右側に指定しなければなりません。 指定の記憶位置には文字列ディスクリプタが入らなければなりません。 文字列の長さが一致しない場合には,文字列は右側で切り捨てられるか, 右側にスペース文字を埋め込まれます。

/ASCII:n

指定された記憶位置にASCII文字列のnバイトを格納します。 引用符で囲まれた文字列は等号の右側に指定しなければなりません。 文字列の長さがnでない場合には,文字列は右側で切り捨てられるか, スペース文字を埋め込まれます。nを省略すると,指定された記憶位置のデータ項目の実際の長さが使用されます。

/ASCIW
/AW

指定された長さのASCII文字列を指定された記憶位置に格納します。 引用符で囲まれた文字列は等号の右側に指定しなければなりません。 格納される文字列の前には,その文字列の長さを指定する2バイトのカウント・ フィールドが付きます。

/ASCIZ
/AZ

最後部に0の付くASCII文字列を指定された記憶位置に格納します。 引用符で囲まれた文字列は等号の右側に指定しなければなりません。格納された文字列の最後部には文字列の終わりを示す0 が1バイト分つきます。

/BYTE

指定された記憶位置に1バイトの整数を格納します。

/D_FLOAT

等号の右側の式をD浮動小数点型(8バイト長)に変換し,その結果を指定の記憶位置に格納します。

/DATE_TIME

日付と時刻を表す文字列(たとえば,21-DEC-1988 21:08:47.15)を日付と時刻の内部形式に変換し,その値(8バイト長)を指定された記憶位置に格納します。 絶対日付と絶対時刻は次の形式で指定します。
     [dd-mmm-yyyy[:]] [hh:mm:ss.cc]

/EXTENDED_FLOAT
/X_FLOAT

(Alphaのみ)等号の右側にある式をIEEEのX浮動小数点型(16バイト長) に変換し,その結果を指定された記憶位置に格納します。

/FLOAT

VAXプロセッサでは,等号の右側にある式をF 浮動小数点型(4バイト長)に変換し,その結果を指定された記憶位置に格納します。

Alphaプロセッサでは,等号の右側にある式をIEEE のT浮動小数点型(8バイト長)に変換し,その結果を指定された記憶位置に格納します。

/F_FLOAT

(VAXのみ)等号の右側の式をF浮動小数点型(4バイト長)に変換し, その結果を指定の記憶位置に格納します。

/G_FLOAT

等号の右側にある式をG浮動小数点型(8バイト長)に変換し, その結果を指定された記憶位置に格納します。

/H_FLOAT

(VAXのみ)等号の右側にある式をH浮動小数点型(16バイト長)に変換し, その結果を指定された記憶位置に格納します。

/INSTRUCTION

(VAXのみ)指定された記憶位置に命令を格納します。等号の右側にある式はアセンブリ言語を表す文字列でなければなりません。

/LONG_FLOAT
/S_FLOAT

(Alphaのみ)等号の右側にある式をIEEE S浮動小数点型(単一精度,4 バイト長)に変換し,その結果を指定された記憶位置に格納します。

/LONG_LONG_FLOAT
/T_FLOAT

(Alphaのみ)等号の右側にある式をIEEE T浮動小数点型(倍精度,8 バイト長)に変換し,その結果を指定の記憶位置に格納します。

/LONGWORD

指定された記憶位置にロングワード整数(4バイト長)を格納します。

/OCTAWORD

指定された記憶位置にオクタワード整数(16バイト長)を格納します。

/PACKED:n

等号の右側にある式をパック10進数表現に変換し,その結果として生じた値を指定された記憶位置に格納します。 nの値は10進数の桁数です。 各桁は1ニブル(4ビット)を占めます。

/QUADWORD

指定された記憶位置にクォドワード整数(8バイト長)を格納します。

/S_FLOAT
/LONG_FLOAT

(Alphaのみ)等号の右側の式をIEEE S浮動小数点型(単精度,4 バイト長)に変換し,その結果を指定の記憶位置に格納します。

/TASK

タスキング(マルチスレッド)プログラムの場合に指定できます。 指定された記憶位置にタスクの値(タスク名または%TASK 3などのタスクID) を格納します。格納される値は有効なタスク値でなければなりません。

/T_FLOAT

(Alphaのみ)等号の右側の式をIEEE T浮動小数点型(倍精度,8 バイト長)に変換し,その結果を指定の記憶位置に格納します。

/TYPE=(name)

格納する式をname (プログラムで宣言された変数またはデータ型の名前でなければならない) で示される型に変換し,指定された記憶位置に変換結果の値を格納します。 これにより,ユーザ宣言型を指定できるようになります。 型式は括弧で囲まなければなりません。

/WCHAR_T[:n]

変換したマルチバイト・ファイル・コード・シーケンスの中で, 最大nロングワード(n文字)を指定の記憶位置に格納します。省略時の値は1 ロングワードです。等号の右側に文字列を指定しなければなりません。

指定された文字列を変換する場合,デバッガはそのデバッガが実行されているプロセスのロケール・ データベースを使用します。省略時の設定はC ロケールです。

/WORD

ワード整数(2バイト長)を指定の記憶位置に格納します。

/X_FLOAT

(Alphaのみ)等号の右側の式をIEEE X浮動小数点型(16バイト長) に変換し,その結果を指定の記憶位置に格納します。

説明

DEPOSITコマンドを使用すれば,プログラムでアクセス可能なメモリ記憶位置またはレジスタの内容を変更できます。 高級言語の場合,このコマンドは通常, 変数(整数,実数,文字列,配列,レコードなど)の値を変更する場合に使用されます。

DEPOSITコマンドはほとんどのプログラミング言語での代入文と似ています。 等号の右側に指定された式の値が等号の左側に指定された変数やその他の記憶位置に代入されます。Ada とPascalの場合,コマンド構文では"=" の代わりに":="を使用できます。

デバッガはシンボリック・アドレス式(プログラムで宣言されるシンボリック名) に対応するコンパイラ生成型を認識します。シンボリック・アドレス式には次の要素が含まれます。

通常,DEPOSITコマンドを入力すると,デバッガは次の動作を行います。

言語の規則で許されている場合には,デバッガは格納操作時に型変換を行うことがあります。 たとえば,等号の右側に指定される実数値が整数型を持つ記憶位置に格納される場合には, 整数値に変換されるでしょう。通常, デバッガは現在の言語の代入規則に従うようにします。

異なる型のデータをプログラム記憶位置に格納できるようにするために, プログラム記憶位置に対応する型を変更する方法はいくつもあります。

Cまたは大文字小文字を区別する言語で記述されたプログラムをデバッグする場合, 指定した型が大文字小文字混合または小文字のときは, DEPOSIT/TYPEコマンドを使用できません。たとえば,次のような関数を含むプログラムを仮定します。

     xyzzy_type foo ()
     {
     xyzzy_type     z;
     z = get_z ();
     return (z);
     }

次のコマンドを入力しようとすると,デバッガは,"xyzzy_type"型が見つからないというメッセージを発行します。

     DBG> DEPOSIT/TYPE=(xyzzy_type) z="whatever"

デバッガは2進数,10進数,16進数,8進数の4つの基数のどれか1つで整数データを解釈したり表示したりできます。 ほとんどの言語の場合,データの入力と表示の両方に対する省略時の基数は10 進数です。

VAXプロセッサでは,例外はBLISSとMACRO-32です。MACRO-32 です。この2つの省略時の基数は16進数です。Alphaプロセッサでは,例外はBLISSとMACRO-32とMACRO-64です。MACRO-32 とMACRO-64です。この3つの省略時の基数は16進数です。

省略時の基数を変更するには,SET RADIXコマンドとSET RADIX/OVERRIDE コマンドを使用できます。

DEPOSITコマンドは指定されたアドレス式で示される位置に現在の値の組み込みシンボル%CURLOC とピリオド(.)を設定します。論理的先行データ(%PREVLOC またはサーカンフレックス文字(^) )と論理的後続データ(%NEXTLOC) は現在の値に基づきます。

関連コマンド


CANCEL TYPE/OVERRIDE
EVALUATE
EXAMINE
MONITOR
(SET,SHOW,CANCEL) RADIX
(SET,SHOW) TYPE

  1. DBG> DEPOSIT I = 7
    
    このコマンドは値7を整数変数Iに格納します。

  2. DBG> DEPOSIT WIDTH = CURRENT_WIDTH + 24.80
    
    このコマンドはCURRENT_WIDTH + 24.80という式の値を実変数WIDTHに格納します。

  3. DBG> DEPOSIT STATUS = FALSE
    
    このコマンドは値FALSEをブール変数STATUSに格納します。

  4. DBG> DEPOSIT PART_NUMBER = "WG-7619.3-84"
    
    この値は文字列WG-7619.3-84を文字列変数のPART_NUMBERに格納します。

  5. DBG> DEPOSIT EMPLOYEE.ZIPCODE = 02172
    
    このコマンドは値02172をレコードEMPLOYEEの構成要素ZIPCODEに格納します。

  6. DBG> DEPOSIT ARR(8) = 35
    DBG> DEPOSIT ^ = 14
    
    この例では,最初のDEPOSITコマンドは値35を配列ARRの要素8に格納します。 結果として,要素8が現在の値になります。2番目のコマンドは値の14 を要素8の論理的先行データ,つまり要素7に格納します。

  7. DBG> FOR I = 1 TO 4 DO (DEPOSIT ARR(I) = 0)
    
    このコマンドは配列ARRの要素1から4に値0を格納します。

  8. DBG> DEPOSIT COLOR = 3
    %DEBUG-E-OPTNOTALLOW, operator "DEPOSIT" not allowed on
         given data type
    
    間違った型のデータを変数に格納しようとすると(この場合,整数値を列挙型変数に格納しようとした場合) デバッガはユーザに警告します。メッセージの重大度E ( エラー)はデバッガが代入を行わないことを表します。

  9. DBG> DEPOSIT VOLUME = - 100
    %DEBUG-I-IVALOUTBNDS, value assigned is out of bounds
         at or near '-'
    
    範囲外の値(この場合には負の値)を変数に格納しようとすると,デバッガはユーザに警告します。 メッセージの重大度I (情報)は,デバッガが代入を行うことを表します。

  10. DBG> DEPOSIT/BYTE WORK = %HEX 21
    
    このコマンドは%HEX 21という式をWORKという記憶位置に格納し,それをバイト整数に変換します。

  11. DBG> DEPOSIT/OCTAWORD BIGINT = 111222333444555
    
    このコマンドは111222333444555の式をBIGINT記憶位置に格納し,それをオクタワード整数に変換します。

  12. DBG> DEPOSIT/FLOAT BIGFLT = 1.11949*10**35
    
    このコマンドは1.11949*10**35をF浮動小数点型の値に変換し,それをBIGFLT 記憶位置に格納します。

  13. DBG> DEPOSIT/ASCII:10 WORK+20 = 'abcdefghij'
    
    このコマンドはシンボルWORKで示される記憶位置の20バイト先の記憶位置に文字列"abcdefghij" を格納します。

  14. DBG> DEPOSIT/INSTR SUB2+2 = 'MOVL   #20A,R0'
    
    VAXシステムでは,このコマンドは命令MOVL #20A,R0'をSUB2 + 2バイトの記憶位置に格納します。

  15. DBG> DEPOSIT/TASK VAR = %TASK 2
    DBG> EXAMINE/HEX VAR
    SAMPLE.VAR: 0016A040
    DBG> EXAMINE/TASK VAR
    SAMPLE.VAR: %TASK 2
    DBG>
    
    DEPOSITコマンドはAdaタスク値の%TASK 2を記憶位置VARに格納します。以降のEXAMINE コマンドの1つはVARの内容を16進数形式で表示します。もう1 つのEXAMINEコマンドはVARの内容をタスク値として表示します。

DISABLE AST

プログラムでの非同期システム・トラップ(AST)の実行要求を無効にします。

フォーマット

    DISABLE AST

説明

DISABLE ASTコマンドはプログラムでのASTの実行要求を無効にし, それにより,プログラムの実行中に割り込みが発生しないようにします。 デバッガの動作中(コマンドの処理中など)にASTの実行要求があると,それらのAST はキューに登録され,制御がプログラムに戻ったとき実行要求が受け付けられます。

ENABLE ASTコマンドは保留中のAST (配付されるのを待っているAST)も含めて,AST の実行要求を再度可能にします。


注意
ASTを可能にする$SETASTシステム・ サービスへのプログラムによる呼び出しは前回のDISABLE ASTコマンドを上書きします。

関連コマンド


(ENABLE,SHOW) AST

    DBG> DISABLE AST
    DBG> SHOW AST
    ASTs are disabled
    DBG>
    
    DISABLE ASTコマンドはプログラムでのASTの実行要求を無効にします。これはSHOW AST コマンドによって確認できます。

DISCONNECT

プロセスを終了せずに,そのプロセスをデバッガの制御から解放します。 このコマンドは,省略時のデバッグ構成かマルチプロセス・デバッグ構成のいずれかに同等に適用されます。 つまり,DBG$PROCESSの値が未定義かDEFAULT であるか,あるいはMULTIPROCESSであるかによっていずれかの構成に分かれます。

フォーマット

    DISCONNECT   process-spec

パラメータ

process-spec

現在デバッガの制御下にあるプロセスを指定します。次のいずれかの形式で指定します。

[%PROCESS_NAME] proc-name スペースや小文字を全く含まないOpenVMS プロセス名。プロセス名にはワイルドカード文字のアスタリスク(*) を含むこともできます。
[%PROCESS_NAME] "proc-name" スペースや小文字を含むOpenVMSプロセス名。二重引用符(")の代わりに一重引用符(') を使用することもできます。
%PROCESS_PID proc-id OpenVMSプロセス識別子(PID ,16進数)。
%PROCESS_NUMBER proc-number (または%PROC proc-number) デバッガの制御下に置かれたときにプロセスに割り当てられた番号。 プロセス番号は,SHOW PROCESS コマンドの実行で表示されます。
proc-group-name DEFINE /PROCESS_GROUPコマンドで定義された,プロセスのグループを表すシンボル。 再帰的なシンボル定義を指定してはなりません。
%NEXT_PROCESS デバッガの循環プロセス・ リスト中で可視プロセスの次のプロセス。
%PREVIOUS_PROCESS デバッガの循環プロセス・ リスト中で可視プロセスの前のプロセス。
%VISIBLE_PROCESS シンボル,レジスタ値,ルーチン呼び出し, ブレークポイントなどの検索時に現在のコンテキストになっている呼び出しスタック, レジスタ・セット,およびイメージを持つプロセス。

説明

DISCONNECTコマンドは,指定されたプロセスを終了せずに,そのプロセスをデバッガの制御から解放します。 このコマンドは,たとえば, Ctrl/Y-DEBUGシーケンスで実行中プログラムをデバッガの制御下に置いた後に, そのイメージを終了せずに解放したい場合などに役立ちます。一方, プロセスにEXITコマンドかQUITコマンドを指定した場合,そのプロセスは終了します。

RUN/DEBUGコマンドでデバッガを起動した場合,マルチプロセス構成で別のプロセスを実行していない状態で次のようにDISCONNECT コマンドを実行すると, デバッガのメイン・プロセスを終了することになります。

     $    RUN/DEBUG image_name
     ...
     DBG> DISCONNECT image_name_process

デバッガのメイン・プロセスを保持するには,デバッガを起動して次のようにDISCONNECT コマンドを実行してください。

     $    DEBUG/KEEP
     ...
     DBG> DISCONNECT image_name


注意
デバッガ・カーネルは,デバッグ中のイメージと同一のプロセスで稼動します。DISCONNECT コマンドをこのプロセスに実行すると, プロセスは解放されますが,カーネルはアクティブな状態のままです。

この状態は,プログラム・イメージの実行が終了するまで続きます。

新バージョンのデバッガをインストールする場合に, 切り離されているがアクティブな状態のいくつかのカーネルがユーザ・ プログラムの領域を占めている状態であると,デバッガのインストールと動作に関する問題に直面することがあります。


関連コマンド


EXIT
QUIT
CONNECT

    DBG> DISCONNECT JONES
    
    このコマンドは,プロセスJONESを終了せずに,そのプロセスをデバッガの制御から解放します。

DISPLAY

新しい画面表示を作成するか,既存の表示を変更します。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

    DISPLAY   display-name [AT window-spec] [display-kind] [, . . . ]

パラメータ

display-name

作成または変更の対象となる表示を指定します。

新しい表示を作成している場合には,ディスプレイ名としてまだ使用されていない名前を指定します。

既存の表示を変更している場合には,次の値のどれかを指定できます。

/GENERATE (省略可能なパラメータ)または/REFRESH (許されていないパラメータ) を使用する場合以外は,画面を指定しなければなりません。

複数のオプションのウィンドウと表示対象を指定できます。

window-spec

表示を位置づける画面ウィンドウを指定します。次の値のいずれかを指定できます。

ウィンドウ指定を省略すると,画面位置は既存の表示を指定したか,新しい表示を指定したかによって異なります。

display-kind

表示対象を指定します。有効なキーワードは次のとおりです。

DO (command[; . . . ]) 自動的に更新される出力表示を指定します。 デバッガに制御が移るたびに, コマンドがリストされている順番で実行されます。コマンドの出力が表示の内容となります。 複数のコマンドを指定する場合,それぞれをセミコロンで区切る必要があります。
INSTRUCTION 機械語命令ディスプレイを指定します。SELECT/INSTRUCTION コマンドで現在の機械語命令ディスプレイとして選択された場合には, 後続のEXAMINE/INSTRUCTIONコマンドからの出力を表示します。
INSTRUCTION (command) 自動的に更新される機械語命令ディスプレイを指定します。 指定されるコマンドはEXAMINE /INSTRUCTIONコマンドでなければなりません。機械語命令ディスプレイはデバッガに制御が移るたびに更新されます。
OUTPUT 出力表示を指定します。SELECT/OUTPUT コマンドで現在の出力表示として選択された場合には,他の表示には出力されないデバッガ出力をすべて表示します。SELECT/INPUT コマンドで現在の入力表示として選択された場合には, デバッガ入力をエコーバックします。SELECT/ERROR コマンドで現在のエラー表示として選択された場合には, デバッガ診断メッセージを表示します。
REGISTER (VAXのみ)自動的に更新されるレジスタ表示を指定します。 デバッガに制御が移るたびに,表示は更新されます。
SOURCE ソース表示を指定します。SELECT/SOURCE コマンドで現在のソース表示として選択された場合には, 以降のTYPEコマンドまたはEXAMINE/SOURCEコマンドからの出力を表示します。
SOURCE (command) 自動的に更新されるソース表示を指定します。 指定されるコマンドはTYPEコマンドまたはEXAMINE/SOURCE コマンドでなければなりません。デバッガに制御が移るたびにソース表示は更新されます。

PROMPT表示の表示対象は変更できません。

display-kindパラメータを省略すると,表示対象は既存の表示を指定しているのか, 新しい表示を指定しているのかによって異なります。

修飾子

/CLEAR

指定の表示の内容全体を消去します。/GENERATEを指定したとき, または新しい表示を作成しているときにはこの修飾子は指定できません。

/DYNAMIC (省略時の設定)
/NODYNAMIC

SET TERMINALコマンドによって画面の高さまたは幅が変更されたときに, 表示がそのウィンドウの寸法を変更に応じて自動的に調整するかどうかを制御します。 省略時の設定(/DYNAMIC)では,ユーザ定義表示と定義済み表示はすべて自動的に寸法を調整します。

/GENERATE

指定の表示の内容を再生成します。自動的に生成される表示だけが再生成されます。 それには,DO表示,レジスタ表示,ソース(cmd- list)表示,命令(cmd-list)表示があります。デバッガは各プロンプトの前にこれらの種類の表示をすべて自動的に再生成します。 表示を指定しないと, 自動的に生成される表示すべての内容が再生成されます。/CLEAR を指定したとき,または新しい表示を作成したときには,この修飾子は使用できません。

/HIDE

(/PUSHと同じく)表示のペーストボードの下部に指定の表示を位置づけます。 これは指定された表示を,画面の同じ領域を共用する他の表示の後ろに置き, 表示しないようにします。PROMPT表示を表示しないようにすることはできません。

/MARK_CHANGE
/NOMARK_CHANGE (省略時の設定)

自動的に更新されるたびにDO表示の中で変化する行をマークするかどうかを制御します。 他の種類の表示の場合には指定できません。

/MARK_CHANGEを使用すると,最後の表示更新以降に内容が変更された行があればすべて反転表示で強調表示されます。 この修飾子が特に役に立つのは, 自動的に更新される表示の中の変数を変化したときにすべて強調表示させたいときです。

/NOMARK_CHANGE修飾子(省略時の設定)はDO表示の中で変化しない行はまったくマークしないことを指定します。 この修飾子は指定された表示に関する前回の/MARK_CHANGE の作用を取り消します。

/POP (省略時の設定)
/NOPOP

省略時の設定。表示ペーストボードの上部の,他のすべての表示の前だがPROMPT の後に指定の表示を位置づけるかどうかを指定します。省略時の設定(/POP) では,表示はペースボードの上部に位置づけられ,画面の同じ領域を共有するPROMPT 表示以外の他の表示をすべて非表示にします。

/NOPOP修飾子は(/NOPUSHと同じく)ペーストボード上のすべての表示の順番をそのままにします。

/PROCESS[=(process-spec)]
/NOPROCESS (省略時の設定)

マルチプロセス・デバッグ構成の場合(DBG$PROCESSの値がMULTIPROCESS の場合)に指定できます。指定された表示をプロセス固有にするかどうか( つまり,指定された表示を特定のプロセスだけに対応させるか)を制御します。 プロセス固有の表示の内容はそのプロセスのコンテキストで生成され, 変更されます。PROMPT表示以外であればどの表示でもプロセス固有なものにすることができます。

/PROCESS=(process-spec)修飾子を使用すると,指定された表示を指定されたプロセスに対応づけられます。 この修飾子を使用するときは括弧を含めなくてはなりません。 次のいずれかのprocess- spec形式で指定します。

[%PROCESS_NAME] proc-name スペースや小文字を全く含まないプロセス名。プロセス名にはワイルドカード文字のアスタリスク(*) を含むこともできます。
[%PROCESS_NAME] "proc-name" スペースや小文字を含むプロセス名。二重引用符(")の代わりに一重引用符(') を使用することもできます。
%PROCESS_PID proc-id プロセス識別子(PID ,16進数)。
%PROCESS_NUMBER proc-number (または%PROC proc-number) デバッガの制御下に入ったときにプロセスに割り当てられた番号。 プロセス番号はSHOW PROCESS コマンドの実行で表示されます。
proc-group-name DEFINE/PROCESS_ GROUPコマンドで定義された,プロセスのグループを表すシンボル。 再帰的なシンボル定義を指定してはなりません。
%NEXT_PROCESS デバッガの循環プロセス・ リスト中で可視プロセスの次のプロセス。
%PREVIOUS_PROCESS デバッガの循環プロセス・ リスト中で可視プロセスの前のプロセス。
%VISIBLE_PROCESS シンボル,レジスタ値,ルーチン呼び出し, ブレークポイントなどの検索時に現在のコンテキストになっている呼び出しスタック, レジスタ・セット,およびイメージを持つプロセス。

/PROCESS修飾子を使用すると,指定した表示はDISPLAY/PROCESSコマンドが実行されたときに可視プロセスになっていたプロセスに対応づけられます。

/NOPROCESS修飾子(これが省略時の設定)を使用すると,指定した表示は可視プロセスに対応づけられます。 可視プロセスはプログラムの実行中に変化する可能性があります。

/PROCESSを指定しないと,指定した表示の(もしあれば)現在のプロセス固有の動作はもとのままになります。

詳しくは/SUFFIX修飾子を参照してください。

/PUSH
/NOPUSH

/PUSH修飾子は/HIDEと同じ作用があります。/NOPUSH修飾子は(/NOPOP と同じく)ペーストボードでのすべての表示の順番をそのまま維持します。

/REFRESH

端末画面を再表示します。この修飾子を指定した場合,コマンド・ パラメータは指定できません。Ctrl/Wを使用して画面を再表示することもできます。

/REMOVE

表示ペーストボードから除去されたものとして表示にマークし, 他のDISPLAYコマンドで明示的に要求した場合を除き,その表示を画面上で示さないようにします。 除去された表示は画面では見えませんが,その表示は依然として存在し, その内容は維持されます。PROMPT表示を除去することはできません。

/SIZE:n

表示の最大サイズをn行に設定します。 n行を超える行数が表示に書き込まれると,新しい行を追加するごとに一番古い行が失われます。 この修飾子を省略すると,表示の最大サイズは次のようになります。

出力またはDO表示の場合,/SIZE:nn行分の最新出力が表示されるように指定します。 ソース表示または機械語命令ディスプレイの場合, nはいつでも1つの時点でメモリ・バッファにいれられるソース行または命令の行数を定義します。 ただし,そのコードを表示するモジュールのソース・ コード全体に渡りソース表示をスクロールできます( ソース行は必要に応じてバッファにページングされます)。同様に, その命令を表示するルーチンの命令すべてに渡り機械語命令ディスプレイをスクロールできます( 命令は必要に応じてイメージからデコードされます) 。

/SUFFIX[=process-identifier-type]

マルチプロセス・デバッグ構成の場合(DBG$PROCESSの値がMULTIPROCESS の場合)に指定できます。プロセスを識別する接尾辞がディスプレイ名に付きます。 この修飾子は,ディスプレイ名の直後に指定してください。 コマンドが実行された時点での可視プロセスが接尾辞に示されます。

/SUFFIX修飾子は,表示定義または表示定義に関連したキー定義を指定する場合のコマンド・ プロシージャで主に使用されます。

process-identifier-typeには次のいずれかのキーワードを指定できます。

PROCESS_NAME ディスプレイ名の後ろにプロセス名が付きます。
PROCESS_ NUMBER ディスプレイ名の後ろにプロセス番号(SHOW PROCESSコマンドの実行で表示される番号)が付きます。
PROCESS_PID ディスプレイ名の後ろにプロセス識別子(PID) が付きます。

/SUFFIXのあとにprocess-identifier-typeキーワードを指定しないと, プロンプトの接尾辞がディスプレイ名の接尾辞の省略時の値として使用されます(SET PROMPT/SUFFIX コマンドを参照してください) 。/[NO]PROCESS修飾子も参照してください。

説明

DISPLAYコマンドを使用すれば表示,作成,または既存表示の変更ができます。

表示を作成するには,ディスプレイ名としてまだ使用されていない名前を指定します(SHOW DISPLAY コマンドを使用すれば,既存の表示がすべて表示されます) 。

省略時の設定では,DISPLAYコマンドは,表示ペーストボードの上部のPROMPT 表示の後ろで他のすべての表示の前に指定された表示を置きます。 PROMPT表示は非表示にすることはできません。指定された表示によって(PROMPT 表示以外の)他の表示で画面上の同じ領域を共用する部分が表示されなくなります。

DISPLAYコマンドに対応するキー定義のリストは,ヘルプ・トピックのKeypad_Definitions_CI を参照してください。また,現在のキー定義を調べるにはSHOW KEY コマンドを使用してください。

関連コマンド


Ctrl/W
EXPAND
MOVE
SET PROMPT
(SET,SHOW) TERMINAL
(SET,SHOW,CANCEL) WINDOW
SELECT
(SHOW,CANCEL) DISPLAY

  1. DBG> DISPLAY REG
    
    このコマンドはREGという定義済みレジスタ表示をその現在のウィンドウ位置に表示します。

  2. DBG> DISPLAY/PUSH INST
    
    このコマンドは表示INSTを表示ペーストボードの下部で,他のすべての表示の後ろに差し込みます。

  3. DBG> DISPLAY NEWDISP AT RT2
    DBG> SELECT/INPUT NEWDISP
    
    この例では,DISPLAYコマンドは画面の中央右の3分の1にユーザ定義表示NEWDISP を表示します。SELECT/INPUTコマンドは現在の入力表示としてNEWDISP を選択します。NEWDISPはデバッガ入力をエコーバックします。

  4. DBG> DISPLAY DISP2 AT RS45
    DBG> SELECT/OUTPUT DISP2
    
    この例では,DISPLAYコマンドは基本的に画面の右下半分で,PROMPT表示の上にDISP2 という名前の表示を作成します。PROMPT表示はS6に位置しています。 省略時の設定では,これは出力表示です。SELECT/OUTPUTコマンドは現在の出力表示としてDISP2 を選択します。

  5. DBG> SET WINDOW TOP AT (1,8,45,30)
    DBG> DISPLAY NEWINST AT TOP INSTRUCTION
    DBG> SELECT/INST NEWINST
    
    この例では,SET WINDOWコマンドは1行目の45列目から始まり,下に8行, 右に30列続くTOPという名前のウィンドウを作成します。DISPLAYコマンドはTOP を通じて表示されるNEWINSTという名前の機械語命令ディスプレイを作成します。SELECT/INST コマンドは現在の機械語命令ディスプレイとしてNEWINST を選択します。

  6. DBG> DISPLAY CALLS AT Q3 DO (SHOW CALLS)
    
    このコマンドはウィンドウQ3にCALLSという名前のDO表示を作成します。 デバッガがプログラムから制御を受け取るたびに,SHOW CALLSコマンドが実行され, 出力がCALLS表示に表示され,もとの内容を置換します。

  7. DBG> DISPLAY/MARK EXAM AT Q2 DO (EXAMINE A,B,C)
    
    このコマンドはウィンドウQ2にEXAMという名前のDO表示を作成します。デバッガが入力を求めるプロンプトを表示するたびに, 表示には変数A,B, Cの現在の値が示されます。変更された値はどれも強調表示されます。

  8. DBG_3> DISPLAY/PROCESS OUT_X AT S4
    
    このコマンドは表示OUT_Xを可視プロセス(プロセス3)に固有のものにし, ウィンドウS4に表示を置きます。

  9. DBG_2> DISPLAY/PROCESS OUT_/SUFFIX AT S45 OUTPUT
    
    このコマンドはウィンドウS45に出力表示を作成します。省略時の設定では,/PROCESS は表示を可視プロセス(この例ではプロセス2)に固有のものにします。/SUFFIX 修飾子はプロセスを識別する接尾辞をディスプレイ名OUT_ に付けます。プロセスを識別する接尾辞は可視プロセスを示します。 省略時の設定では,/ SUFFIX修飾子はプロンプトに表示されるものと同じプロセス識別接尾辞を付けます。 したがって,完全ディスプレイ名はOUT_2 です。

DO

1つまたは複数のプロセスのコンテキストでデバッガ・コマンドを実行します。

マルチプロセス・デバッグ構成の場合(DBG$PROCESSの値がMULTIPROCESSの場合) に指定できます。

フォーマット

    DO   (command[; . . . ])

パラメータ

command

指定されたプロセスのコンテキストで実行されるデバッガ・コマンドを指定します。

修飾子

/PROCESS=(process-spec[, . . . ])

コマンドを実行したいコンテキストを持つ1つまたは複数のプロセスを指定します。 プロセスを1つしか指定しない場合でも,括弧を含める必要があります。/PROCESS を指定しないと,コマンドはすべてのプロセスのコンテキストで実行されます。 この作用は,process-specにワイルドカード文字のアスタリスク(*) を指定した場合でも達成されます。

次のいずれかの形式で指定します。

[%PROCESS_NAME] proc-name スペースや小文字を全く含まないプロセス名。プロセス名にはワイルドカード文字のアスタリスク(*) を含むこともできます。
[%PROCESS_NAME] "proc-name" スペースや小文字を含むプロセス名。二重引用符(")の代わりに一重引用符(') を使用することもできます。
%PROCESS_PID proc-id プロセス識別子(PID ,16進数)。
%PROCESS_NUMBER proc-number (または%PROC proc-number) デバッガの制御下に入ったときにプロセスに割り当てられた番号。 プロセス番号はSHOW PROCESS コマンドの実行で表示されます。
proc-group-name DEFINE/PROCESS_ GROUPコマンドで定義された,プロセスのグループを表すシンボル。 再帰的なシンボル定義を指定してはなりません。
%NEXT_PROCESS デバッガの循環プロセス・ リスト中で可視プロセスの次のプロセス。
%PREVIOUS_PROCESS デバッガの循環プロセス・ リスト中で可視プロセスの前のプロセス。
%VISIBLE_PROCESS シンボル,レジスタ値,ルーチン呼び出し, ブレークポイントなどの検索時に現在のコンテキストになっている呼び出しスタック, レジスタ・セット,およびイメージを持つプロセス。

説明

省略時の設定では,コマンドは可視プロセスのコンテキストで実行されます。DO コマンドを使用すれば,現在デバッガの制御下にある1つまたは複数のプロセスのコンテキストでコマンドを実行できます( これはプロセスへのコマンドの" ブロードキャスト"とも呼ばれます)。DOコマンドは/PROCESS 修飾子で指定されるプロセスごとに(あるいは/PROCESSが指定されていない場合にはすべてのプロセスに対して) SET PROCESS/VISIBLE コマンドを入力し,指定されたコマンドを入力することと同じです。

可視プロセスを変更するには,SET PROCESSコマンドを使用します。

DOコマンドを使用する際には,可視プロセスでの(SET PROCESS/HOLDコマンドでの設定に従う) 保留状態は無視されることに注意してください。

関連コマンド SET PROCESS

  1. DBG_2> DO (SHOW CALLS)
    For %PROCESS_NUMBER 1
       module name   routine name  line     rel PC    abs PC
      *MOD4          SUB3            31    0000001E  0000041E
    For %PROCESS_NUMBER 2
       module name   routine name  line     rel PC    abs PC
      *MOD3          SUB1             4    0000000B  0000040B
    DBG_2>
    
    このコマンドは現在デバッガの制御下にあるすべてのプロセスのコンテキストでSHOW CALLS コマンドを実行します。

  2. DBG_3> DO/PROCESS=(%PROC 2,%PROC 1) (EVAL/ADDR X;EXAMINE X)
    For %PROCESS_NUMBER 2
      %DEBUG-E-NOSYMBOL, symbol 'X' is not in the symbol table
    For %Process_number 1
      512
      TEST\X: 1
    DBG_3>
    
    このコマンドは2つのコマンドEVAL/ADDR XとEXAMINE Xをプロセス2と1のコンテキストで実行します。

DUMP

メモリの内容を表示します。

フォーマット

    DUMP   address-expression1 [:address-expression2]

パラメータ

address-expression1

表示する最初の記憶位置を指定します。

address-expression2

表示する最後の記憶位置を指定します(省略時の設定はaddress- expression1です)。

修飾子

/BINARY

確認した個々の値を2進整数として表示します。

/BYTE

確認した個々の値をバイト整数(1バイト長)として表示します。

/DECIMAL

確認した個々の値を10進整数として表示します。

/HEXADECIMAL

確認した個々の値を16進整数として表示します。

/LONGWORD (省略時の設定)

確認した個々の値をロングワード整数型(4バイト長)で表示します。 これは,コンパイラで生成されたデータ型のないプログラム記憶位置の省略時のデータ型です。

/OCTAL

確認した個々の値を8進整数として表示します。

/QUADWORD

確認した個々の値をクォドワード整数型(8バイト長)で表示します。

/WORD

確認した個々の値をワード整数型(2バイト長)で表示します。

説明

DUMPコマンドは,レジスタ,変数,配列も含めて,メモリの内容を表示します。DUMP コマンドはDCLのDUMPコマンドと同じ方法で出力をフォーマットします。 デバッガのDUMPコマンドは集合体の構造体を解釈しません。

一般に,DUMPコマンドを入力すると,デバッガはaddress-expression1を評価して, プログラム記憶位置を求めます。そのあと,デバッガは次の方法で, その記憶位置に格納されている値を表示します。

どちらの場合も,DUMPコマンドはこれらの記憶位置の内容を現在の基数で, ロングワード(省略時の設定)整数値として表示します。

表示のために使用する省略時の基数は,ほとんどの言語で10進数です。ただし,VAX プロセッサでは,BLISSとMACRO-32 MACRO-32は例外であり,これらの言語の場合は,16進数が省略時の基数です。Alpha プロセッサでは,BLISS,MACRO-32, MACRO-64 MACRO-32,MACRO-64 は例外であり,これらの言語の省略時の基数は16 進数です。

他の基数でデータを表示するには,4つの基数修飾子(/BINARY, /DECIMAL,/HEXADECIMAL,/OCTAL)のいずれかを使用します。また, SET RADIXコマンドとSET RADIX/OVERRIDEコマンドを使用して,省略時の基数を変更することもできます。

表示の形式を変更するには,サイズ修飾子(/BYTE,/WORD,/LONGWORD, /QUADWORD)のいずれかを使用します。

DUMPコマンドは,現在のエンティティ組み込みシンボル%CURLOCとピリオド(.) を,指定されたアドレス式によって示される記憶位置に設定します。 論理的に前の記憶位置(%PREVLOCまたはサーカンフレックス文字(^)) と後の記憶位置(%NEXTLOC)は,現在のエンティティの値をもとに決定されます。

関連コマンド:


EXAMINE

  1. DBG> DUMP/QUAD R16:R25
     0000000000000078 0000000000030038 8.......x....... %R16
     000000202020786B 0000000000030041 A.......kx   ... %R18
     0000000000030140 0000000000007800 .x......@....... %R20
     0000000000010038 0000000000000007 ........8....... %R22
     0000000000000006 0000000000000000 ................ %R24
    
    DBG>
    
    このコマンドは,汎用レジスタR16〜R25をクォドワード形式の16進数で表示します。

  2. DBG> DUMP APPLES
     00000000 00030048 00000000 00004220  B......H....... 00000000000300B0
     63724F20 746E6F6D 646F6F57 000041B0 °
    A..Woodmont Orc 00000000000300C0
     20202020 20202020 20202073 64726168 hards            00000000000300D0
     6166202C 73646E61 6C747275 6F432020   Courtlands, fa 00000000000300E0
                       00002020 2079636E ncy   ..         00000000000300F0
    
    DBG>
    
    このコマンドは,APPLESというエンティティの値をロングワード形式の16 進数で表示します。

  3. DBG> DUMP/BYTE/DECIMAL 30000:30040
        0    0    0    0    0    3    0  -80 °...... 0000000000030000
        0    0    0    0    0    3    1   64 @....... 0000000000030008
        0    0    0    0    0    3    0   48 0....... 0000000000030010
        0    0    0    0    0    3    0   56 8....... 0000000000030018
        0    0    0    0    0    3    0  -64
                                          `A...... 0000000000030020
        0    0    0    0    0    3    0  -80 °...... 0000000000030028
        0    0    0    0    0    0    7  -50
                                          ^I...... 0000000000030030
      101  101  119   32  116  120  101  110 next wee 0000000000030038
                                         107 k        0000000000030040
    DBG>
    
    このコマンドは,記憶位置30000〜30040をバイト形式の10進数で表示します。

EDIT

SET EDITORコマンドで設定されたエディタを起動します。ユーザがSET EDITORコマンドを入力していなかった場合には,システムにインストールされていればDEC ランゲージ・センシティブ・エディタ(LSEDIT)を起動します。

フォーマット

    EDIT   [[module-name\] line-number]

パラメータ

module-name

編集の対象となるソース・ファイルが含まれているモジュールの名前を指定します。 モジュール名を指定する場合には,行番号も指定しなければなりません。module-na me パラメータを省略すると,現在のソース表示に表示されているコードを持つソース・ ファイルが編集の対象として選択されます。

line-number

初期状態でエディタのカーソルをどのソース行に置くかを指定する正の整数。 このパラメータを省略すると,カーソルは,初期状態ではデバッガの現在のソース表示の中央のソース行の先頭に置かれます。 エディタが/NOSTATRT_POSITION (SET EDITOR コマンドを参照)に設定されていた場合には1 行目の先頭に置かれます。

修飾子

/EXIT
/NOEXIT (省略時の設定)

エディタを起動する前にデバッグ・セッションを終了するかどうかを制御します。/EXIT を指定すると,デバッグ・セッションが終了されたあと, エディタが起動されます。/NOEXITを指定すると,編集セッションが開始され, その編集セッションが終了したあと,デバッグ・セッションに戻ります。

説明

SET EDITORコマンドでエディタが指定されていなかった場合には, EDITコマンドはスポーンされたサブプロセスで(DECランゲージ・センシティブ・ エディタ(LSEDIT)がシステムにインストールされている場合には) LSEDITを起動します。EDITコマンドの通常(省略時)の使用法では,パラメータを全く指定しません。 この場合,編集カーソルは,初期状態では現在選択されているデバッガ・ ソース表示(現在のソース表示)の中央にある行の先頭に置かれます。

SET EDITORコマンドには,サブプロセス内から各種のエディタを起動するためのオプションや, 呼び出し可能インタフェースを使用して各種のエディタを起動するためのオプションがあります。

関連コマンド


(SET,SHOW) EDITOR
(SET,SHOW,CANCEL) SOURCE

  1. DBG> EDIT
    
    このコマンドは現在のソース・ディスプレイに表示されるコードを持つソース・ ファイルを編集するために,サブプロセスとしてDECランゲージ・ センシティブ・エディタ(LSEDIT)をスポーンします。編集カーソルはソース表示の中央にある行の先頭に置かれます。

  2. DBG> EDIT SWAP\12
    
    このコマンドは,SWAPというモジュールがあるソース・ファイルを編集するために, サブプロセスとしてDECランゲージ・センシティブ・エディタ(LSEDIT) を作成します。編集カーソルはソース行の12行目の先頭に置かれます。

  3. DBG> SET EDITOR/CALLABLE_EDT
    DBG> EDIT
    
    この例では,SET EDITOR/CALLABLE_EDTコマンドはEDTが省略時のエディタであることと, それが(サブプロセスとして作成するのではなく)呼び出し可能インタフェースを通じて起動されることを指定しています。EDIT コマンドは現在のソース表示に表示されるコードを持つソース・ ファイルを編集するためにEDT を起動します。省略時の修飾子である/NOSTART_POSITION がEDTに対して有効であるため,編集カーソルはソース行の1行目の先頭に置かれます。

ENABLE AST

プログラムでの非同期システム・トラップ(AST)の実行要求を許可します。

フォーマット

    ENABLE AST

説明

ENABLE ASTコマンドはプログラムの実行中にASTの実行要求を許可します。 これらのASTには保留中のAST (配布されるのを待っているAST)も含みます。 デバッガの動作中(コマンドの処理中など)にASTが生成されると,AST はキューに登録され,制御がプログラムに戻ったとき配布されます。AST の実行要求は省略時の設定では許可されます。


注意
ASTを禁止する$SETASTシステム・ サービスへの呼び出しを行うと,前回のENABLE ASTコマンドは上書きされます。

関連コマンド


(DISABLE,SHOW) AST

    DBG> ENABLE AST
    DBG> SHOW AST
    ASTs are enabled
    DBG>
    
    ENABLE ASTコマンドでASTの実行要求を許可します。それをSHOW ASTコマンドによって確認します。

EVALUATE

現在の言語(省略時の設定では,メイン・プログラムを含むモジュールの言語) で言語式の値を表示します。

フォーマット

    EVALUATE   language-expression[, . . . ]

パラメータ

language-expression

現在の言語での有効な式を指定します。

修飾子

/BINARY

結果を2進基数で表示することを指定します。

/CONDITION_VALUE

式を状態値(条件処理メカニズムを使用して指定する状態値の種類) として解釈することを指定します。その状態値に対応するメッセージ文が表示されます。 指定する値は整数値でなければなりません。

/DECIMAL

結果を10進基数で表示することを指定します。

/HEXADECIMAL

結果を16進基数で表示することを指定します。

/OCTAL

結果を8進基数で表示することを指定します。

説明

デバッガはEVALUATEコマンドで指定された式を言語式として解釈し, 現在の言語の構文と現在の基数で評価し,その値を現在の言語でリテラル( たとえば,整数値)として表示します。

現在の言語は前回SET LANGUAGEコマンドで設定された言語です。SET LANGUAGEコマンドが入力されていなかった場合には,現在の言語は省略時の設定ではメイン・ プログラムを含むモジュールの言語です。

式に種々のコンパイラ生成型のシンボルが含まれている場合には,デバッガは現在の言語の型変換規則を使用してその式を評価します。

デバッガは2進数,10進数,16進数,8進数の4つの基数のどれか1つで整数データを解釈したり表示したりできます。 現在の基数は前回SET RADIXコマンドで設定した基数です。

SET RADIXコマンドを入力しなかった場合,データの入力と表示のどちらに対しても, ほとんどの言語の省略時の基数は10進数です。VAXプロセッサでは,例外はBLISSとMACRO-32です。MACRO-32 です。この2つの省略時の基数は16進数です。Alpha プロセッサでは,例外はBLISSとMACRO-32とMACRO-64です。MACRO-32 とMACRO-64です。この3つの省略時の基数は16進数です。

基数修飾子(/BINARY,/OCTALなど)を使用すれば別の基数で整数データを表示できます。 これらの修飾子はユーザが指定したデータをデバッガが解釈する方法には影響を及ぼしません。 現在の出力基数は上書きされますが, 入力基数はもとのままです。

EVALUATEコマンドは現在の値の組み込みシンボル%CURVALと円記号(\)を指定された式で示される値に設定します。

関数呼び出しが含まれている言語式を評価することはできません。たとえば,PRODUCT が2つの整数を乗算する関数である場合には,EVALUATE PRODUCT(3,5)というコマンドは使用できません。関数の返却値を変数に代入してその変数を調べれば, 結果として関数呼び出しを含む式を評価できます。

Alphaプロセッサでは,EVALUATE procedure-nameというコマンドは指定されたルーチン, エントリ・ポイントまたはAdaパッケージの(コード・アドレスではなく) プロシージャディスクリプタアドレスを表示します。

言語に固有の演算子と構造に対するデバッガ・サポートについての詳しい説明は,HELP Language をタイプしてください。

関連コマンド


EVALUATE/ADDRESS
MONITOR
(SET,SHOW) LANGUAGE
(SET,SHOW,CANCEL) RADIX
(SET,SHOW) TYPE

  1. DBG> EVALUATE 100.34 * (14.2 + 7.9)
    2217.514
    DBG>
    
    このコマンドは,デバッガを計算機として使用することにより,100.34と(14 .2 + 7.9) の乗算を行います。

  2. DBG> EVALUATE/OCTAL X
    00000001512
    DBG>
    
    このコマンドはシンボルXを評価し,その結果を8進基数で表示します。

  3. DBG> EVALUATE TOTAL + CURR_AMOUNT
    8247.20
    DBG>
    
    このコマンドは,TOTALとCURR_AMOUNTという2つの実変数の値の合計を評価します。

  4. DBG> DEPOSIT WILLING = TRUE
    DBG> DEPOSIT ABLE = FALSE
    DBG> EVALUATE WILLING AND ABLE
    False
    DBG>
    
    この例では,EVALUATEコマンドはWILLINGとABLEという2つのブール変数の現在の値の論理積を評価します。

  5. DBG> EVALUATE COLOR'FIRST
    RED
    DBG>
    
    このAdaの例では,このコマンドはCOLORという列挙型の最初の要素を評価します。

EVALUATE/ADDRESS

アドレス式を評価し,その結果をメモリ・アドレスまたはレジスタ名として表示します。

フォーマット

    EVALUATE/ADDRESS   address-expression[, . . . ]

パラメータ

address-expression

有効な形式のアドレス式(たとえば,ルーチン名,変数名,ラベル, 行番号など)を指定します。

修飾子

/BINARY

メモリ・アドレスを2進基数で表示します。

/DECIMAL

メモリ・アドレスを10進基数で表示します。

/HEXADECIMAL

メモリ・アドレスを16進基数で表示します。

/OCTAL

メモリ・アドレスを8進基数で表示します。

説明

EVALUATE/ADDRESSコマンドを使用すれば,アドレス式に対応するメモリ・ アドレスまたはレジスタを求められます。

デバッガは2進数,10進数,16進数,8進数の4つの基数のどれか1つで整数データを解釈したり表示したりできます。 ほとんどの言語の場合, データの入力と表示のどちらに対しても,省略時の基数は10進数です。 88888888888888888888

VAXプロセッサでは,例外はBLISSとMACRO-32です。MACRO-32 です。この2つの省略時の基数は16進数です。Alphaプロセッサでは,例外はBLISSとMACRO-32とMACRO-64です。MACRO-32 とMACRO-64です。この3つの省略時の基数は16進数です。

基数修飾子(/BINARY,/OCTALなど)を使用すれば別の基数でアドレス・データを表示できます。 これらの修飾子はユーザが指定したデータをデバッガが解釈する方法には影響を及ぼしません。 現在の出力基数は上書きされますが, 入力基数はもとのままです。

変数の値がメモリではなくレジスタに現在格納されている場合には, EVALUATE/ ADDRESSコマンドはレジスタを識別します。この場合,基数修飾子は全く働きを持ちません。

EVALUATE/ADDRESSコマンドは,指定されたアドレス式で示される記憶位置に現在の要素組み込みシンボルの%CURLOC とピリオド(.)を設定します。 論理的先行データ(%PREVLOCまたはサーカンフレックス文字(^) )と論理的後続データ(%NEXTLOC) は現在の要素の値に基づきます。

Alphaプロセッサでは,EVALUATE/ADDRESS procedure-nameというコマンドは指定されたルーチン, エントリ・ポイントまたはAdaパッケージの(コード・ アドレスではなく)プロシージャディスクリプタアドレスを表示します。

関連コマンド


EVALUATE
(SET,SHOW,CANCEL) RADIX
SHOW SYMBOL/ADDRESS
SYMBOLIZE

  1. DBG> EVALUATE/ADDRESS MODNAME\%LINE 110
    3942
    DBG>
    
    このコマンドはアドレス式MODNAME\%LINE 110によって示されるメモリ・ アドレスを表示します。

  2. DBG> EVALUATE/ADDRESS/HEX A,B,C
    000004A4
    000004AC
    000004A0
    DBG>
    
    このコマンドはアドレス式A,B,Cで示されるメモリ・アドレスを16進基数で表示します。

  3. DBG> EVALUATE/ADDRESS X
    MOD3\%R1
    DBG>
    
    このコマンドは変数XがレジスタR1に対応していることを示します。Xは非静的( レジスタ)変数です。

EXAMINE

プログラム変数の現在の値を表示します。より通常は,アドレス式で示される要素の値を表示します。

フォーマット

    EXAMINE   [address-expression[:address-expression] [, . . . ]]

パラメータ

address-expression

値を調べる要素を指定します。高級言語を使用する場合,これは通常, 変数の名前になり,変数を一意に指定するためのパス名を含めることができます。 より通常は,アドレス式はメモリ・アドレスまたはレジスタにすることもでき,1 つまたは複数の演算子,オペランドまたは区切り文字だけでなく, 数字(オフセット)とシンボルで構成することができます。 レジスタのデバッガ・シンボルについてとアドレス式の中で使用できる演算子についての詳しい説明は, ヘルプ・トピックのBuilt_in_SymbolsまたはAddress_Expressions を参照してください。

集合体変数(配列またはレコード構造体などの複合データ構造体) の名前を指定すると,デバッガはすべての要素の値を表示します。配列の場合, 各配列要素の添字(インデックス)と値が示されます。レコードの場合, 各レコードの構成要素の名前と値が示されます。

個々の配列要素,配列断面またはレコードの構成要素を指定するには,現在の言語の構文に従います。

要素の範囲を指定する場合,その範囲にある最初の要素を示すアドレス式の値は同じ範囲にある最後の要素を示すアドレス式の値よりも小さくなければなりません。 デバッガは最初のアドレス式で指定される値,そのアドレス式の論理的後続データ, その次の論理的後続データという順に,最後のアドレス式で指定される要素までを表示します。 コンマで範囲と範囲を区切ることにより, 複数の範囲からなるリストを指定できます。

ベクタ・レジスタとベクタ命令に特有の情報については,/TMASK, /FMASK,/VMRおよび/OPERANDSの修飾子を参照してください。

修飾子

/ASCIC
/AC

値を調べる個々の要素を,1バイトのカウント・フィールドの後ろに続く, このカウント・フィールドにより長さを指定されたASCII文字列と解釈します。

/ASCID
/AD

値を調べる個々の要素をASCII文字列を指す文字列ディスクリプタのアドレスと解釈します。 ディスクリプタのCLASSフィールドとDTYPE フィールドは表示されませんが,LENGTHフィールドとPOINTERフィールドがASCII 文字列の文字長とアドレスを与えます。そのあと文字列が表示されます。

/ASCII:n

値を調べる個々の要素を長さnバイト( n文字)のA SCII文字列と解釈し,表示します。nを省略すると, デバッガはアドレス式の型をもとに長さを求めようとします。

/ASCIW
/AW

値を調べる個々の要素を,2バイトのカウント・フィールドの後ろに続く, このカウント・フィールドにより長さを指定されたASCII文字列と解釈します。 それから文字列が表示されます。

/ASCIZ
/AZ

値を調べる個々の値を最後部に0のあるASCII文字列と解釈します。 最後部の1バイト分の0は文字列の終了を示します。それから文字列が表示されます。

/BINARY

値を調べる個々の値を2進整数として表示します。

/BYTE

値を調べる個々の値をバイト整数型(1バイト長)で表示します。

/CONDITION_VALUE

値を調べる個々の値を状態値の戻り状態と解釈し,その戻り状態に対応するメッセージを表示します。

/D_FLOAT

値を調べる個々の値をD浮動小数点型(8バイト長)で表示します。

/DATE_TIME

値を調べる個々の値を日付と時刻の内部表現を含むクォドワード整数(8 バイト長)と解釈します。値はdd-mmm-yyyy hh:mm:ss.ccの形式で表示します。

/DECIMAL

値を調べる個々の値を10進整数として表示します。

/DEFAULT

値を調べる個々の値を省略時の基数で表示します。

この修飾子は/DEFAと短縮できます。

/DEFINITIONS=n

(Alphaのみ)コードが最適化されると,スプリット・ライフタイム変数用に n定義ポイントを表示します。定義ポイントは, 変数が値を受け取る位置です。省略時の設定では,最高5つまでの定義ポイントが表示されます。( 明示的または省略時の設定で)指定した数より多い定義ポイントが使用可能な場合は, 指定した数以上の定義ポイントも報告されます。 スプリット・ライフタイム変数についての詳しい説明は,『OpenVMSデバッガ説明書』を参照してください。

この修飾子は/DEFIと短縮できます。

/EXTENDED_FLOAT
/X_FLOAT

(Alphaのみ)値を調べる個々の値をIEEEのX浮動小数点型(16バイト長) で表示します。

/FLOAT

VAXプロセッサでは,値を調べる個々の値をF 浮動小数点型(4バイト長)で表示します。

Alphaプロセッサでは,値を調べる個々の値をIEEE T 浮動小数点型(倍精度,8バイト長)で表示します。

/F_FLOAT

(VAXのみ)確認した個々の値をF浮動小数点型(4バイト長)で表示します。

/FPCR

(Alphaのみ)値を調べる個々の値をFPCR (浮動小数点制御レジスタ) 形式で表示します。

/FMASK[=(mask-address-expression)]

VAXのベクタ化されたプログラムの場合に指定できます。 /TMASK修飾子を参照してください。

/G_FLOAT

VAXシステムでは,値を調べる個々の値をG浮動小数点型(8バイト長) で表示します。

/H_FLOAT

(VAXのみ)値を調べる個々の値をH浮動小数点型(16バイト長)で表示します。

/HEXADECIMAL

値を調べる個々の値を16進整数で表示します。

/INSTRUCTION

値を調べる個々の値をアセンブリ言語命令(命令の長さは命令オペランドの数とアドレッシング・ モードの種類によって変化)として表示します。/OPERANDS 修飾子も参照してください。

画面モードでは,EXAMINE/INSTRUCTIONコマンドの出力は,現在機械語命令ディスプレイがあればそこに送られます。 出力表示やDO表示には送られません。 機械語命令ディスプレイでの矢印は値を調べる命令を指します。

Alphaプロセッサでは,EXAMINE/INSTRUCTION procedure-nameコマンドは指定されたルーチン,エントリ・ポイントまたはAda パッケージのコード・アドレスにある最初の命令を表示します。

/LINE (省略時の設定)
/NOLINE

プログラム記憶位置を行番号(%LINE x)で表示するか, routine-name + byte-offsetとして表示するかを制御します。 省略時の設定(/LINE)では,デバッガは行番号でプログラム記憶位置をシンボル化します。

/LONG_FLOAT
/S_FLOAT

(Alphaのみ)値を調べる個々の値をIEEE S浮動小数点型(単一精度,4 バイト長)で表示します。

/LONG_LONG_FLOAT
/T_FLOAT

(Alphaのみ)値を調べる個々の値をIEEE T浮動小数点型(倍精度,8 バイト長)で表示します。

/LONGWORD

値を調べる個々の値をロングワード整数型(4バイト長)で表示します。 これがコンパイラ生成型を持たないプログラム記憶位置の場合の省略時の型です。

/OCTAL

値を調べる個々の値を8進整数で表示します。

/OCTAWORD

個々の値をオクタワード整数型(16バイト長)で表示します。

/OPERANDS[=keyword]

(VAXのみ)値を調べる命令に対応するオペランド情報を表示します( 各オペランドのアドレスとその内容を,そのオペランドのデータ型を使用して表示します) 。BRIEFとFULLのキーワードはレジスタ以外のオペランドに関して表示される情報の量を変えます。 省略時の設定は/OPERANDS=BRIEFです。

現在のPC値(たとえば,EXAMINE/OPERANDS .0\%PC)での命令を値を調べる場合にだけ/OPERANDS を使用してください。現在のPC値にない命令のオペランドの値を調べると, マシンの状態(レジスタの内容)がその命令に合わせて設定されていないため, 間違った結果が出力される恐れがあります。

画面モードでは,オペランド情報は現在の出力表示に出力されます。

ベクタ命令のオペランドの値を調べるときは,省略時の設定では,その命令に対応している可能性のあるオペランド要素のマスキングが実行されます。/TMASK 修飾子と/FMASK修飾子を使用すると,他のいくつかのマスクを指定できます。 ベクタ長レジスタ(VLR)の現在の値により,表示できるベクタ・ レジスタの最上位要素が制限されます。

SET MODE [NO]OPERANDS=keywordコマンドも参照してください。 このコマンドを使用すれば,命令を調べるときに表示されるオペランド情報の量に省略時のレベルを設定できます。

/PACKED:n

値を調べるそれぞれの値をパック10進数と解釈します。 nの値は 10進数の桁数です。1つの桁は1ニブル(4ビット)を占めます。

/PS

(Alphaのみ)値を調べる個々の値をPS (プロセッサ・ステータス・ レジスタ)形式で表示します。

/PSL

(VAXのみ)値を調べる個々の値をPSL (プロセッサ・ステータス・ ロングワード)形式で表示します。

/PSW

(VAXのみ)値を調べる個々の値をPSW (プロセッサ・ステータス・ ワード)形式で表示します。/PSW修飾子は下位ワード(2バイト)だけが表示されること以外は,/PSL に似ています。

/QUADWORD

値を調べる個々の値をクォドワード整数型(8バイト長)で表示します。

/S_FLOAT

(Alphaのみ)値を調べる個々の値をIEEE S浮動小数点型(単一精度,4 バイト長)で表示します。

/SFPCR

Alphaプロセッサでは,値を調べる個々の値をSFPCR ( ソフトウェア浮動小数点制御レジスタ)形式で表示します。

/SOURCE


注意
この修飾子は,デバッガへのDECwindows Motif インタフェースでは使用できません。

値を調べる個々の値の記憶位置に対応するソース行を表示します。表示する値は機械語コード命令に対応していなければならず, したがって行番号, ラベル,ルーチン名または命令のメモリ・アドレスでなければなりません。 表示する値はデータに対応する変数名やその他のアドレス式にすることはできません。

画面モードでは,EXAMINE/SOURCEコマンドの出力は,現在ソース表示があればそこに出力されます。 出力表示やDO表示には出力されません。ソース表示での矢印は指定された最後の要素( または要素のリストで指定した最後の要素) に対応するソース行を指します。

Alphaプロセッサでは,EXAMINE/SOURCE procedure-nameコマンドは指定されたルーチン,エントリ・ ポイントまたはAdaパッケージのコード・アドレスにソース・コードを表示します。

/SYMBOLIC (省略時の設定)
/NOSYMBOLIC

シンボル化を行うかどうかを制御します。省略時の設定( /SYMBOLIC)では,デバッガはできればすべてのアドレスをシンボル化します。 つまり,数値アドレスをシンボル表現に変換します。/NOSYMBOLICを指定すると, デバッガは絶対アドレスとして指定された要素のシンボル化を行わなくなります。 要素を変数名として指定すると,シンボル化は行われます。/NOSYMBOLIC 修飾子は,(シンボリック名が数値アドレスに対して存在していても) シンボリック名ではなく,数値アドレスを表示した場合に役立ちます。/NOSYM BOLIC を使用すると,デバッガは数字を名前に変換する必要がないため, コマンド処理の速度が上がる可能性があります。

/TASK

タスキング(マルチスレッド)プログラムの場合に指定できます。 値を調べる個々の値をタスク(スレッド)・オブジェクトとして解釈し, そのタスク・オブジェクトのタスク値(名前またはタスクID)を表示します。 タスク・オブジェクトの値を調べるときは,プログラミング言語に組み込みタスキング・ サービスが備っていない場合だけ/TASKを使用してください。

/T_FLOAT

(Alphaのみ)確認した個々の値をIEEE T浮動小数点型(倍精度, 8バイト長)で表示します。

/TMASK[=(mask-address-expression)]
/FMASK[=(mask-address-expression)]

これらの修飾子はVAXのベクタ化されたプログラムの場合に指定できます。 これらの修飾子を使用すれば,他の要素を表示しないでベクタ・ レジスタ(V0からV15)の特定の要素またはメモリ上の配列の特定の要素を表示するために, マスクを指定できます。

たとえば,(/OPERANDS修飾子を使用することにより)ベクタ命令のオペランドの値を調べるとき, これらの修飾子を使用すれば,その命令に対応している可能性のあるオペランド要素のマスキングを上書きすることができます。

/TMASK修飾子を指定すると,マスクの設定ビット(ビット値1)に対応するレジスタまたは配列の要素にだけEXAMINE コマンドが適用されます。 /FMASK修飾子を指定すると,マスクのクリア・ビット(ビット値0)に対応する要素にだけEXAMINE コマンドが適用されます。ベクタ長レジスタ(VLR) の現在の値は,最高の配列要素ではなく,表示できる最高のレジスタ要素を制限します。

省略時の設定では,/TMASKまたは/FMASKでマスク・アドレス式を指定しないと, ベクタ・マスク・レジスタ(VMR)が使用されます。つまり,EXAMINE コマンドは( /TMASKの場合には)設定ビットまたは(/FMASKの場合には)クリア・ ビットに対応するベクタ・レジスタまたは配列の要素だけに適用されます。

/TMASKまたは/FMASKでマスク・アドレス式を指定すると,そのアドレスでの値がマスクとして使用され, 次の規則に従います。

/TYPE=(name)

値を調べる個々の値をname (プログラムで宣言された変数またはデータ型の名前でなければならない) で指定された型に応じて解釈し, 表示します。これによりユーザ宣言型を指定できます。型式は括弧で囲まなければなりません。

/VMR

(VAXのみ) VAXベクタ化プログラムにのみ適用されます。ベクタ・ マスク・レジスタを表示します。

/WCHAR_T[:n]

確認した個々の値を解釈し,nロングワード( n文字)のマルチバイト・ファイル・コード・シーケンスとして表示します。 省略時の値は1ロングワードです。

確認した文字列を変換する場合,デバッガは,実行されているプロセスのロケール・ データベースを使用します。省略時の設定はCロケールです。

/WORD

値を調べる個々の要素をワード整数型(2バイト長)で表示します。

/X_FLOAT

(Alphaのみ)確認した個々の値をIEEE X浮動小数点型(16バイト長) で表示します。

説明

EXAMINEコマンドはアドレス式で示す記憶位置に要素を表示します。 このコマンドを使用すれば,プログラムでアクセスできるメモリ記憶位置またはレジスタの内容を表示できます。 高級言語の場合,このコマンドは変数( 整数,実数,文字列,配列,レコードなど)の現在の値を獲得するために使用されることがほとんどです。

最適化されたコードをデバッグすると,EXAMINEコマンドは,スプリット・ ライフタイム変数が値を受け取る定義ポイントを表示します。スプリット・ ライフタイム変数についての詳しい説明は,『デバッガ説明書』を参照してください。 省略時の設定では,EXAMINEコマンドは,最高5つまでの定義ポイントを表示します。/DEFINITIONS 修飾子を使用すると,定義ポイントの数を指定できます。

デバッガはシンボリック・アドレス式(プログラムで宣言されたシンボリック名) に対応するコンパイラ生成型を認識します。シンボリック・アドレス式には次の要素が含まれます。

通常,EXAMINEコマンドを入力すると,デバッガはプログラム記憶位置を求めるために指定されたアドレス式を評価します。 そしてその位置に格納されている値を次のように表示します。

ベクタ・レジスタ(VAXのみ)とベクタ命令(VAXのみ)に特有の情報については,/TMASK ,/FMASKおよび/OPERANDSの修飾子を参照してください。

プログラム記憶位置に対応する型を変更して,その記憶位置のデータを他のデータ形式で表示できるようにする方法はいくつもあります。

デバッガは2進数,10進数,16進数,8進数の4つの基数のどれか1つで整数データを解釈したり表示したりできます。

ほとんどの言語の場合,データの入力と表示のどちらに対しても,省略時の基数は10 進数です。VAXプロセッサでは,例外はBLISS と MACRO-32です。 MACRO-32です。この2つの省略時の基数は16 進数です。Alphaプロセッサでは,例外はBLISS とMACRO-32とMACRO-64です。MACRO-32とMACRO-64です。この3つの省略時の基数は16 進数です。

EXAMINEコマンドにはデータを他の基数で表示できるようにするための基数修飾子が4 つあります(/BINARY,/DECIMAL,/HEXADECIMAL,/OCTAL)。 SET RADIXコマンドとSET RADIX/OVERRIDEコマンドを使用して,省略時の基数を変更することもできます。

EXAMINEコマンドには,型修飾子と基数修飾子だけでなく,他の用途のための修飾子があります。

EXAMINEコマンドは現在の値の組み込みシンボル%CURLOCとピリオド(.)を指定されたアドレス式で示される記憶位置に設定します。 論理的先行データ(%PREVLOC またはサーカンフレックス文字(^) )と論理的後続データ(%NEXTLOC) は現在の値に基づきます。

関連コマンド


CANCEL TYPE/OVERRIDE
DEPOSIT
DUMP
EVALUATE
SET MODE [NO]OPERANDS
SET MODE [NO]SYMBOLIC
(SET,SHOW,CANCEL) RADIX
(SET,SHOW) TYPE

  1. DBG> EXAMINE COUNT
    SUB2\COUNT:  27
    DBG>
    
    このコマンドはモジュールSUB2の整数変数COUNTの値を表示します。

  2. DBG> EXAMINE PART_NUMBER
    INVENTORY\PART_NUMBER:  "LP-3592.6-84"
    DBG>
    
    このコマンドは文字列変数PART_NUMBERの値を表示します。

  3. DBG> EXAMINE SUB1\ARR3
    SUB1\ARR3
       (1,1):     27.01000
       (1,2):     31.01000
       (1,3):     12.48000
       (2,1):     15.08000
       (2,2):     22.30000
       (2,3):     18.73000
    DBG>
    
    このコマンドはモジュールSUB1の配列ARR3にあるすべての要素の値を表示します。ARR3 は,要素数が2 x 3個の実数配列です。

  4. DBG> EXAMINE SUB1\ARR3(2,1:3)
    SUB1\ARR3
       (2,1):     15.08000
       (2,2):     22.30000
       (2,3):     18.73000
    DBG>
    
    このコマンドは,配列SUB1\ARR3の配列断面の要素の値を表示します。この配列断面には," 行" 2の"列" 1から3が含まれます。

  5. DBG> EXAMINE VALVES.INTAKE.STATUS
    MONITOR\VALVES.INTAKE.STATUS:  OFF
    DBG>
    
    このコマンドはモジュールMONITOR内のネストされたレコードの構成要素VALVES.INTAKE.STATUS の値を表示します。

  6. DBG> EXAMINE/SOURCE SWAP
    module MAIN
        47:  procedure SWAP(X,Y: in out INTEGER) is
    DBG>
    
    このコマンドはルーチンSWAPが宣言されているソース行(ルーチンSWAPの記憶位置) を表示します。

  7. DBG> DEPOSIT/ASCII:7 WORK+20 = 'abcdefg'
    DBG> EXAMINE/ASCII:7 WORK+20
    DETAT\WORK+20:  "abcdefg"
    DBG> EXAMINE/ASCII:5 WORK+20
    DETAT\WORK+20:  "abcde"
    DBG>
    
    この例では,DEPOSITコマンドは要素'abcdefg'を7バイト長のASCII文字列としてシンボルWORK で示される記憶位置から20バイト先の記憶位置に格納します。 最初のEXAMINEコマンドはその記憶位置にある要素の値を7バイト長のASCII 文字列(abcdefg)として表示します。2番目のEXAMINEコマンドはその記憶位置の要素の値を5 バイト長のASCII文字列(abced)として表示します。

  8. DBG> EXAMINE/OPERANDS=FULL .0\%PC
    X\X$START+0C:   MOVL    B^04(R4),R7
         B^04(R4)   R4 contains X\X$START\M (address 00001054),
                    B^04(00001054) evaluates to X\X$START\K
                    (address 00001058), which contains 00000016
         R7         R7 contains 00000000
    DBG>
    
    VAXシステムでは,このコマンドは現在のPC値での命令(MOVL)を表示します。/OPERANDS=FULL を使用すると,オペランド情報の最大レベルが表示されます。

  9. DBG> SET RADIX HEXADECIMAL
    DBG> EVALUATE/ADDRESS WORKDATA
    0000086F
    DBG> EXAMINE/SYMBOLIC 0000086F
    MOD3\WORKDATA:  03020100
    DBG> EXAMINE/NOSYMBOLIC 0000086F
    0000086F:  03020100
    DBG>
    
    この例では,EVALUATE/ADDRESSコマンドは変数WORKDATAのメモリ・アドレスが16 進数の0000086Fであることを示します。2つのEXAMINEコマンドはアドレスをWORKDATA にシンボル化するかどうかを制御するために, /[NO]SYMBOLICを使用してそのアドレスに含まれている値を表示します。

  10. DBG> EXAMINE/HEX FIDBLK
    FDEX1$MAIN\FIDBLK
        (1):        00000008
        (2):        00000100
        (3):        000000AB
    DBG>
    
    このコマンドは16進基数で配列変数FIDBLKの値を表示します。

  11. DBG> EXAMINE/DECIMAL/WORD NEWDATA:NEWDATA+6
    SUB2\NEWDATA:  256
    SUB2\NEWDATA+2:  770
    SUB2\NEWDATA+4:  1284
    SUB2\NEWDATA+6:  1798
    DBG>
    
    このコマンドはNEWDATAからNEWDATA + 6バイトで示される記憶位置の範囲内にあるワード整数要素(2 バイト要素)の値を10進基数で表示します。

  12. DBG> EXAMINE/TASK SORT_INPUT
    MOD3\SORT_INPUT:  %TASK 12
    DBG>
    
    このコマンドはSORT_INPUTという名前のタスク・オブジェクトのタスクID を表示します。

EXIT

デバッグ・セッションを終了するか,またはマルチプロセス・プログラムの1 つまたは複数のプロセスを終了し,アプリケーション宣言終了ハンドラを実行できるようにします。 コマンド・プロシージャまたはDO句の中で使用し, プロセスを全く指定しないと,その時点でそのコマンド・プロシージャまたはDO 句が終了されます。

フォーマット

    EXIT   [process-spec[, . . . ]]

パラメータ

process-spec

このパラメータはマルチプロセス・デバッグ構成の場合(DBG$PROCESS の値がMULTIPROCESSの場合)に指定できます。

現在デバッガの制御下にあるプロセスを指定します。次のいずれかの形式で指定します。

[%PROCESS_NAME] proc-name スペースや小文字を全く含まないプロセス名。プロセス名にはワイルドカード文字のアスタリスク(*) を含むこともできます。
[%PROCESS_NAME] "proc-name" スペースや小文字を含むプロセス名。二重引用符(")の代わりに一重引用符(') を使用することもできます。
%PROCESS_PID proc-id プロセス識別子(PID ,16進数)。
%PROCESS_NUMBER proc-number (または%PROC proc-number) デバッガの制御下に入ったときにプロセスに割り当てられた番号。 プロセス番号はSHOW PROCESS コマンドの実行で表示されます。
proc-group-name DEFINE/PROCESS_ GROUPコマンドで定義された,プロセスのグループを表すシンボル。 再帰的なシンボル定義を指定してはなりません。
%NEXT_PROCESS デバッガの循環プロセス・ リスト内の可視プロセスの次のプロセス。
%PREVIOUS_PROCESS デバッガの循環プロセス・ リスト内の可視プロセスの前のプロセス。
%VISIBLE_PROCESS シンボル,レジスタ値,ルーチン呼び出し, ブレークポイントなどの検索時に現在のコンテキストになっている呼び出しスタック, レジスタ・セット,およびイメージを持つプロセス。

すべてのプロセスを指定するためにワイルドカード文字のアスタリスク(*) を使用することもできます。

説明

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

デバッグ・セッションの終了

デバッグ・セッションを終了するには,パラメータを全く指定しないでデバッガ・ プロンプトに対しEXITコマンドを入力します。これによりセッションが順序正しく終了されます。 つまり,プログラムのアプリケーション宣言終了ハンドラ( もしあれば)が実行され,次にデバッガの終了ハンドラが実行され( ログ・ファイルをクローズし,画面とキーパッドの状態を復元するなど) ,制御がコマンド・インタプリタに戻ります。そのあとはDCL コマンドのDEBUGやCONTINUEを入力してもプログラムのデバッグを続けることはできません( デバッガを再起動する必要があります)。

EXITは任意のアプリケーション宣言終了ハンドラを実行するので,該当する終了ハンドラにブレークポイントを設定することができます。 設定したブレークポイントはEXIT と入力すると検出されます。したがって,EXITを使用して終了ハンドラをデバッグできます。

アプリケーション宣言終了ハンドラを実行しないでデバッグ・セッションを終了するには,EXIT の代わりにQUITコマンドを使用します。

コマンド・プロシージャやDO句でのEXITコマンドの使用

デバッガがコマンド・プロシージャの中で(パラメータを全く指定しないで) E XIT コマンドを実行すると,制御はそのコマンド・プロシージャを起動したコマンド・ ストリームに戻ります。コマンド・ストリームは,端末, 外側(当該コマンド・プロシージャを含んでいる側)のコマンド・プロシージャ, コマンドまたは画面表示定義でのDO句とすることができます。 たとえば,コマンド・プロシージャがDO句の中から起動された場合には, 制御はそのDO句に戻り,そこでデバッガは(コマンド・シーケンスの中にあれば) 次のコマンドを実行します。

デバッガは,DO句の中で(パラメータを全く指定しないで) EXITコマンドを実行すると, その句にある残りのコマンドは無視し,プロンプトを表示します。

指定プロセスの終了

マルチプロセス・プログラムをデバッグするためにマルチプロセス・デバッグ構成を使用している場合( 論理名DBG$PROCESSの値がMULTIPROCESSの場合) ,EXITコマンドを使用すればデバッグ・セッションを終了せずに,指定したプロセスを終了できます。 プロンプトに対してEXITコマンドを入力するか, それともコマンド・プロシージャまたはDO句の中でEXITコマンドを使用するかにかかわらず, 同じ方法と動作が適用されます。

1つまたは複数のプロセスを終了するには,それらのプロセスをパラメータとして指定してEXIT コマンドを入力します。この結果,指定されたプロセスのイメージが順序正しく終了され, それらのイメージに対応するアプリケーション宣言終了ハンドラが実行されます。 その後は,指定したプロセスはSHOW PROCESS/ALL コマンドを実行しても表示されなくなります。 SET PROCESS/HOLDコマンドの結果,指定したプロセスの中に保留状態だったものがある場合, 保留状態は無視されます。

指定したプロセスが終了処理を開始すると,保留されていない未指定のプロセスが実行を開始します。 実行が開始されると,その実行がどのように継続されるかはユーザがSET MODE [NO]INTERRUPT コマンドを入力したかどうかによって異なります。 省略時の設定(SET MODE INTERRUPT)では,実行はプロセスのどれかで中断されるまで継続します。 中断された時点で,イメージを実行していた他のどれかのプロセスで割り込みがかかり, デバッガが入力を促します。

アプリケーション宣言終了ハンドラを実行したり,別の方法で実行を開始したりしないで指定のプロセスを終了するには,EXIT コマンドではなくQUIT コマンドを使用します。

関連コマンド


DISCONNECT
@ (実行プロシージャ)
Ctrl/C
Ctrl/Y
Ctrl/Z
QUIT
RERUN
RUN
SET ABORT_KEY
SET MODE [NO]INTERRUPT
SET PROCESS

  1. DBG> EXIT
    $
    
    このコマンドはデバッグ・セッションを終了し,DCLレベルに戻ります。

  2. JONES_1> EXIT %NEXT_PROCESS, %PROCESS_NAME JONES_3, %PROC 5
    JONES_1>
    
    このコマンドを実行すると,マルチプロセス・プログラムの3つのプロセスが順序正しく終了します。 つまり,プロセス・リスト内の可視プロセスの次のプロセス, プロセスJONES_3,プロセス5が終了します。指定されたプロセスが終了したあと, 制御はデバッガに戻ります。

EXITLOOP

中にこのコマンドが入っている1つまたは複数のFOR,REPEATまたはWHILE のループを終了します。

フォーマット

    EXITLOOP   [integer]

パラメータ

integer

終了するネストされたループの数を指定する10進数の整数。省略時の設定は1 です。

説明

1つまたは複数のFOR,REPEATまたはWHILEのループを終了するにはこれらのループの中でEXITLOOP コマンドを使用します。

関連コマンド


FOR
REPEAT
WHILE

    DBG> WHILE 1 DO (STEP; IF X .GT. 3 THEN EXITLOOP)
    
    WHILE 1コマンドは繰り返すたびにSTEPコマンドを実行する無限ループを作成します。STEP が1回終わるたびに,Xの値がテストされます。Xが3より大きい場合には,EXITLOOP コマンドはループを終了します(Fortranの例) 。

EXPAND

ディスプレイに対応するウィンドウを拡大または縮小します。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

    EXPAND   [display-name[, . . . ]]

パラメータ

display-name

拡大または縮小するディスプレイを指定します。次のいずれかを指定できます。

ディスプレイを指定しないと,SELECTコマンドの設定した現在のスクロール・ ディスプレイが選択されます。

修飾子

/DOWN[:n]

ディスプレイの下の境界をn行分だけ下に( nが正の値の場合),またはn行分だけ上に( nが負の値の場合)移動します。nを省略すると, 境界は1 行下に移動されます。

/LEFT[:n]

ディスプレイの左の境界をn行分だけ左に( nが正の値の場合),またはn行分だけ右に( nが負の値の場合)移動します。nを省略すると, 境界は左に1 行移動されます。

/RIGHT[:n]

ディスプレイの右の境界をn行分だけ右に( nが正の値の場合),またはn行分だけ左に( nが負の値の場合)移動します。nを省略すると, 境界は右に1 行移動されます。

/SUFFIX[=process-identifier-type]

マルチプロセス・デバッグ構成の場合(DBG$PROCESSの値がMULTIPROCESS の場合)に指定できます。プロセスを識別する接尾辞がディスプレイ名に付きます。 この修飾子は,ディスプレイ名の直後に指定してください。 コマンドが実行された時点での可視プロセスが接尾辞に示されます。

/SUFFIX修飾子は,ディスプレイ定義またはディスプレイ定義に関連したキー定義を指定する場合のコマンド・ プロシージャで主に使用されます。

process-identifier-typeには次のいずれかのキーワードを指定できます。

PROCESS_NAME ディスプレイ名の後ろにプロセス名が付きます。
PROCESS_ NUMBER ディスプレイ名の後ろにプロセス番号(SHOW PR OCESSコマンドの実行で表示される番号)が付きます。
PROCESS_PID ディスプレイ名の後ろにプロセス識別子(PID ) が付きます。

/SUFFIXのあとにprocess-identifier-typeキーワードを指定しないと, プロンプトの接尾辞がディスプレイ名の接尾辞の省略時の値として使用されます(SET PROMPT/SUFFIX コマンドを参照してください)。

/UP[:n]

ディスプレイの上の境界をn行分だけ上に( nが正の値の場合),またはn行分だけ下に( nが負の値の場合)移動します。nを省略すると, 境界は1 行上に移動されます。

説明

少なくとも修飾子を1つ指定しなくてはなりません。

EXPANDコマンドは指定された修飾子(/UP:[n],/DOWN :[n],RIGHT:[n], /LEFT:[n])に従ってディスプレイ・ウィンドウの1つまたは複数の境界を移動します。

EXPANDコマンドはディスプレイ・ペーストボード上でのディスプレイの順番には影響を及ぼしません。EXPAND コマンドを実行すると,指定したディスプレイで他のディスプレイが見えなくなったり, 見えるようになったりします。 また,指定したディスプレイが他のディスプレイによって部分的または全体的に見えなくなることもあります。 どのようになるかはディスプレイ相互間の順序によります。

PROMPTディスプレイを除き,どのディスプレイもそれが見えなくなるポイント ( そのポイントで"removed"とマークされる)まで縮小できます。そこまで縮小されると, 今度はそのポイントから拡大できます。見えなくなるポイントまでディスプレイを縮小すると, そのディスプレイに対して選択された属性を失うことになります。PROMPT ディスプレイは水平方向には縮小も拡大もできませんが, 垂直方向には2行分縮小できます。

ウィンドウの境界は上方向には画面の辺までしか拡大できません。ウィンドウの左と上の境界はディスプレイのそれぞれ左辺と上辺を超えて拡大することはできません。 右の境界はディスプレイの左辺から255列まで拡大できます。 ソース・ディスプレイまたは機械語命令ディスプレイの下の境界は, 下方向にはディスプレイの下辺まで(ソース・モジュールまたはルーチンの命令の端) しか拡大できません。レジスタ・ディスプレイはそのフル・ サイズを超えて拡大することはできません。

EXPANDコマンドに対応するキー定義のリストについては,ヘルプ・トピックのKeypad_Definitions_CI を参照してください。また,現在のキー定義を調べるにはSHOW KEY コマンドを使用してください。

関連コマンド


DISPLAY
MOVE
SELECT/SCROLL
(SET,SHOW) TERMINAL

  1. DBG> EXPAND/RIGHT:6
    
    このコマンドは現在のスクロール・ディスプレイの右の境界を右に6列移動します。

  2. DBG> EXPAND/UP/RIGHT:-12 OUT2
    
    このコマンドはOUT2ディスプレイの上の境界を上に1行,右の境界を左に1 2列移動します。

  3. DBG> EXPAND/DOWN:99 SRC
    
    このコマンドはSRCディスプレイの下の境界を画面の下辺まで降ろします。

EXTRACT

画面表示の内容をファイルに保存するか,または現在の画面状態をあとで再構成するために必要なコマンドのすべてを盛り込んだデバッガ・ コマンド・ プロシージャを作成します。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

    EXTRACT   [display-name[, . . . ]] [file-spec]

パラメータ

display-name

書き出すディスプレイを指定します。次のいずれかを指定できます。

ディスプレイ名のワイルドカード文字のアスタリスク(*)は使用できません。/ALL 修飾子を指定する場合,ディスプレイ名は指定できません。

file-spec

情報を書き込むファイルを指定します。論理名を指定できます。

/SCREEN_LAYOUTを指定する場合,ファイルの省略時の指定はSYS$DISK:[]DBGS CREEN.COM です。指定しない場合,省略時の指定はSYS$DISK:[]DEBUG.TXT です。

修飾子

/ALL

すべてのディスプレイを書き出します。この修飾子を指定する場合,/SCREEN_LAYOUT は指定できません。

/APPEND

新しいファイルを作成するのではなく,ファイルの終わりに情報を追加します。 省略時の設定では,新しいファイルが作成されます。この修飾子を指定する場合,/SCRE EN_LAYOUT は指定できません。

/SCREEN_LAYOUT

画面の現在の状態を記述するデバッガ・コマンドを含むファイルを書き込みます。 この情報には画面の幅と高さ,メッセージのラップの設定, 既存のすべてのディスプレイの位置,表示対象,ディスプレイ属性が含まれます。 あとで画面を再構成するためにこのファイルを実行プロシージャのコマンド(@ ) で実行することができます。

/SUFFIX[=process-identifier-type]

マルチプロセス・デバッグ構成の場合(DBG$PROCESSの値がMULTIPROCESS の場合)に指定できます。プロセスを識別する接尾辞がディスプレイ名に付きます。 この修飾子は,ディスプレイ名の直後に指定してください。 コマンドが実行された時点での可視プロセスが接尾辞に示されます。

/SUFFIX修飾子は,ディスプレイ定義またはディスプレイ定義に関連したキー定義を指定する場合のコマンド・ プロシージャで主に使用されます。

process-identifier-typeには次のいずれかのキーワードを指定できます。

PROCESS_NAME ディスプレイ名の後ろにプロセス名が付きます。
PROCESS_ NUMBER ディスプレイ名の後ろにプロセス番号(SHOW PROCESSコマンドの実行で表示される番号)が付きます。
PROCESS_PID ディスプレイ名の後ろにプロセス識別子(PID) が付きます。

/SUFFIXのあとにprocess-identifier-typeキーワードを指定しないと, プロンプトの接尾辞がディスプレイ名の接尾辞の省略時の値として使用されます(SET PROMPT/SUFFIX コマンドを参照してください) 。

説明

ディスプレイの内容をファイルに保存するためにEXTRACTコマンドを使用すると, そのディスプレイのメモリ・バッファに現在格納されている行だけ(DISPLAY コマンドの/SIZE修飾子で求められるとおり)がファイルに書き込まれます。

PROMPTディスプレイをファイルに書き出すことはできません。

関連コマンド


DISPLAY
SAVE

  1. DBG> EXTRACT SRC
    
    このコマンドはSYS$DISK:[]DEBUG.TXTファイルにSRCディスプレイのすべての行を書き込みます。

  2. DBG> EXTRACT/APPEND OUT [JONES.WORK]MYFILE
    
    このコマンドは[JONES.WORK]MYFILE.TXTファイルの終わりにOUTディスプレイのすべての行を追加します。

  3. DBG> EXTRACT/SCREEN_LAYOUT
    
    このコマンドはSYS$DISK:[]DBGSCREEN.COMファイルに画面を再構成するために必要なデバッガ・ コマンドを書き込みます。

FOR

変数を増分しながら一連のコマンドを指定された回数実行します。

フォーマット

    FOR   name=expression1 TO expression2 [BY expression3]
         DO (command[; . . . ])

パラメータ

name

カウント変数の名前を指定します。

expression1

整数型または列挙型の値を指定します。expression1とexpression2のパラメータは同じ型のものでなければなりません。

expression2

整数型または列挙型の値を指定します。expression1とexpression2のパラメータは同じ型のものでなければなりません。

expression3

整数を指定します。

command

デバッガ・コマンドを指定します。複数のコマンドを指定する場合は, それぞれのコマンドをセミコロンで区切らなければなりません。各コマンドを実行すると, デバッガはそのコマンド内の式の構文をチェックして, 評価します。

説明

FORコマンドの動作は expression3 パラメータの値によって決まります。 次の表をご覧ください。

expression3 FORコマンドの動作
正の値 nameパラメータは,expression2 の値より大きくなるまで,expression1 の値からexpression3 の値ずつ増分される。
負の値 nameパラメータは,expression2 の値より小さくなるまで,expression1 の値から expression3 の値ずつ減分される。
0 デバッガはエラー・ メッセージを返す。
Omitted デバッガは,値が+1であるものとみなす。

関連コマンド


EXITLOOP
REPEAT
WHILE

  1. DBG> FOR I = 10 TO 1 BY -1 DO (EXAMINE A(I))
    
    このコマンドは配列を後ろから前に調べます。

  2. DBG> FOR I = 1 TO 10 DO (DEPOSIT A(I) = 0)
    
    このコマンドは配列を0に初期化します。

GO

プログラムの実行を開始または再開します。

フォーマット

    GO   [address-expression]

パラメータ

address-expression

プログラムの実行をアドレス式で示される記憶位置から再開することを指定します。 アドレス式を指定しないと,実行は中断されたポイントから, またはデバッガ起動の場合にはイメージ遷移アドレスから再開されます。

説明

GOコマンドはプログラムの実行を開始するか,または実行が現在中断されているポイントから再開します。GO コマンドはプログラムを実行するために使用できる4 つのデバッガ・コマンドの1つです(他の3つはCALL, EXIT,STEPです)。

GOコマンドでアドレス式を指定すると,それはプログラムの通常の制御の流れを変えるため, 思いがけない結果が生じる可能性があります。たとえば, デバッグ・セッションの最中にGO %LINE 1というコマンドを入力すればプログラムの先頭から実行を再開できますが, そのプログラムはすでに実行されているため, 変数によっては,最初に同じプログラムを実行したときとは異なった内容に初期化されるものもあります。

例外ブレークポイントを検出すると(SET BREAK/EXCEPTIONコマンドまたはSTEP/EXCEPTION コマンドの結果),実行はアプリケーション宣言条件ハンドラが起動される前に中断されます。 そのあとGOコマンドで実行を再開すると, 動作は次のようになります。

マルチプロセス・プログラムをデバッグするためにマルチプロセス・デバッグ構成を使用している場合( 論理名DBG$PROCESSの値がMULTIPROCESSの場合) ,さらに次の点にも注意してください。

関連コマンド


CALL
DO
EXIT
RERUN
SET BREAK
SET MODE [NO]INTERRUPT
SET PROCESS
SET STEP
SET TRACE
SET WATCH
STEP

  1. DBG> GO
         . . .
    'Normal successful completion'
    DBG>
    
    このコマンドはプログラムの実行を開始します。その実行はやがて正常に完了します。

  2. DBG> SET BREAK RESTORE
    DBG> GO     ! 実行を開始
         . . .
    
    break at routine INVENTORY\RESTORE
    137: procedure RESTORE;
    DBG> GO     ! 実行を再開
         . . .
    
    この例では,SET BREAKコマンドはブレークポイントをルーチンRESTOREに設定します。 最初のGOコマンドはプログラムの実行を開始します。それはやがてルーチンRESTORE のブレークポイントで中断されます。2番目のGOコマンドはブレークポイントから実行を再開します。

  3. DBG> GO %LINE 42
    
    このコマンドは実行が現在中断されているモジュールの42行目で実行を再開します。

HELP

デバッガ・コマンドと選択されたトピックに関するオンライン・ヘルプを表示します。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。コマンドに関するヘルプはDECwindows デバッガ・ウィンドウの「Help」メニューから入手できます。

フォーマット

    HELP   topic [subtopic [ . . . ]]

パラメータ

topic

ヘルプ情報を得たいデバッガ・コマンドまたはトピックの名前を指定します。 ワイルドカード文字のアスタリスク(*)を単独で指定することも, 名前の中に指定することもできます。

subtopic

さらに情報を必要とするサブトピック,修飾子またはパラメータを指定します。 ワイルドカード文字のアスタリスク(*)を単独で指定することも, 名前の中に指定することもできます。

説明

デバッガのオンライン・ヘルプ機能は,コマンド記述,コマンド形式, コマンドで指定できるパラメータの説明,コマンドで指定できる修飾子の説明のほか, デバッガ・コマンドについて次の情報を提供します。

特定の修飾子またはパラメータに関する情報を獲得するには,それをサブトピックとして指定します。 すべての修飾子に関する情報が必要な場合には,"qualifier" をサブトピックとして指定します。すべてのパラメータに関する情報が必要な場合には,"parameter" をサブトピックとして指定します。1 つのコマンドに関連するすべてのパラメータ,修飾子,その他のサブトピックについての情報が必要な場合には, アスタリスク(*)をサブトピックとして指定します。

コマンドに関するヘルプ以外にも,画面機能,キーパッド・モードなどのさまざまなトピックについてオンライン・ ヘルプを獲得できます。HELPと入力すると, コマンドといっしょにトピック・キーワードがリストされます。

デバッガの今回のリリースでの新機能の概略については, HELP New_ Featuresをタイプして参照してください。

定義済みキーパッド・キーの機能についてのヘルプは,ヘルプ・トピックのKeypad_Definitions_CI を参照してください。また,現在のキー定義を調べるにはSHOW KEY コマンドを使用してください。

    DBG> HELP GO
    
    このコマンドはGOコマンドのヘルプを表示します。

IF

言語式(ブール式)が真として評価された場合に一連のコマンドを実行します。

フォーマット

    IF   Boolean-expression THEN (command[; . . . ])
        [ELSE (command[; . . . ])]

パラメータ

Boolean-expression

現在設定されている言語でブール値(真または偽)として評価される言語式を指定します。

command

デバッガ・コマンドを指定します。複数のコマンドを指定する場合には, それぞれをセミコロン(;)で区切らなければなりません。

説明

IFコマンドはブール式を評価します。値が真(現在の言語での定義に従う) である場合には,THEN句のコマンド・リストが実行されます。式が偽である場合には,EL SE 句のコマンド・リストがある場合実行されます。

関連コマンド


EXITLOOP
FOR
REPEAT
WHILE

    DBG> SET BREAK R DO (IF X .LT. 5 THEN (GO) ELSE (EXAMINE X))
    
    このコマンドを実行すると,デバッガはXの値が5未満であれば,Rの記憶位置( ブレークポイント)でプログラムの実行を中断します(Fortranの例) 。Xの値が5 以上の場合には,その値が表示されます。

MONITOR

プログラム変数または言語式の現在の値をDECwindowsインタフェースのモニタ・ ビューに表示します。


注意
DECwindowsインタフェースが必要です。

フォーマット

    MONITOR   expression

パラメータ

expression

モニタの対象とする要素を指定します。高級言語を使用する場合,これは通常, 変数の名前です。現在,MONITORは複合式(演算子を含む言語式) は処理しません。

集合体変数(配列またはレコード構造などのような複合データ構造)の名前を指定すると, モニタ・ビューはその変数の値として"Aggregate"と表示します。 そのあと変数名をダブルクリックすれば,すべての要素の値を獲得できます。( 『デバッガ説明書』を参照。)

個々の配列要素,配列断面またはレコードの構成要素を指定するには,現在の言語の構文に従います。

修飾子

/ASCIC
/AC

モニタする個々の要素を,1バイトのカウント・フィールドの後ろに続く, このカウント・フィールドにより長さを指定されたASCII文字列と解釈します。

/ASCID
/AD

モニタする個々の要素をASCII文字列を指す文字列ディスクリプタのアドレスと解釈します。 ディスクリプタのCLASSフィールドとDTYPEフィールドはモニタされませんが,LENGTH フィールドとPOINTERフィールドがASCII 文字列の文字長とアドレスを与えます。そのあと文字列が表示されます。

/ASCII:n

モニタする個々の要素を長さnバイト( n文字)のASCII文字列と解釈し,表示します。nを省略すると, デバッガはアドレス式の型をもとに長さを求めようとします。

/ASCIW
/AW

モニタする個々の要素を,2バイトのカウント・フィールドの後ろに続く, このカウント・フィールドにより長さを指定されたASCII文字列と解釈します。 それから文字列が表示されます。

/ASCIZ
/AZ

モニタする個々の値を最後部に0のあるASCII文字列と解釈します。 最後部の1バイト分の0は文字列の終了を示します。それから文字列が表示されます。

/BINARY

モニタする個々の値を2進整数として表示します。

/BYTE

モニタする個々の値をバイト整数型(1バイト長)で表示します。

/D_FLOAT

(VAXのみ)モニタする個々の値をD浮動小数点型(8バイト長)で表示します。

/DATE_TIME

モニタする個々の値を日付と時刻の内部表現を含むクォドワード整数(8 バイト長)と解釈します。値はdd-mmm-yyyy hh:mm:ss.ccの形式で表示します。

/DECIMAL

モニタする個々の値を10進整数として表示します。

/DEFAULT

モニタする個々の値を省略時の基数で表示します。

/EXTENDED_FLOAT

(Alphaのみ)モニタする個々の値をIEEEのX浮動小数点型(16バイト長) で表示します。

/FLOAT

VAXプロセッサでは,モニタする個々の値をF 浮動小数点型(4バイト長)で表示します。

Alphaプロセッサでは,モニタする個々の値をIEEE T 浮動小数点型(倍精度,8バイト長)で表示します。

/F_FLOAT

(VAXのみ)モニタする個々の値をF浮動小数点型(4バイト長)で表示します。

/G_FLOAT

モニタする個々の値をG浮動小数点型(8バイト長)で表示します。

/H_FLOAT

(VAXのみ)モニタする個々の値をH浮動小数点型(16バイト長)で表示します。

/HEXADECIMAL

モニタする個々の値を16進整数で表示します。

/INSTRUCTION

モニタする個々の値をアセンブリ言語命令(命令の長さは命令オペランドの数とアドレッシング・ モードの種類によって変化)として表示します。/OPERANDS 修飾子も参照してください。

/INT

/LONGWORD修飾子と同じ。

/LONG_FLOAT

(Alphaのみ)モニタする個々の値をIEEE S浮動小数点型(単精度,4 バイト長)で表示します。

/LONG_LONG_FLOAT

(Alphaのみ)モニタする個々の値をIEEE T浮動小数点型(倍精度,8 バイト長)で表示します。

/LONGWORD
/INT
/LONG

モニタする個々の値をロングワード整数型(4バイト長)で表示します。 これがコンパイラ生成型を持たないプログラム記憶位置の場合の省略時の型です。

/OCTAL

モニタする個々の値を8進整数で表示します。

/OCTAWORD

モニタする個々の値をオクタワード整数型(16バイト長)で表示します。

/QUADWORD

モニタする個々の値をクォドワード整数型(8バイト長)で表示します。

/REMOVE

モニタ・ビューから指定されたアドレス式でモニタされた1つまたは複数の項目を削除します。

/SHORT

/WORD修飾子と同じ。

/TASK

タスキング(マルチスレッド)プログラムの場合に指定できます。 モニタする個々の値をタスク(スレッド)オブジェクトとして解釈し,そのタスク・ オブジェクトのタスク値(名前またはタスクID)を表示します。タスク・ オブジェクトをモニタするときは,プログラミング言語に組み込みタスキング・ サービスが備っていない場合だけ/TASKを使用してください。

/WORD
/SHORT

モニタする個々の要素をワード整数型(2バイト長)で表示します。

説明

コマンドの出力はモニタ・ビューに出力されるため,MONITORコマンドはデバッガのDECwindows Motif インタフェースがある場合にだけ使用できます。 コマンド・インタフェースがある場合には,通常,代わりにEVALUATE ,EXAMINE,SET WATCHの各コマンドを使用します。

MONITORコマンドは次のことを行います。

  1. モニタ・ビューがそれまでのMONITORコマンドでまだ表示されていない場合には, モニタ・ビューを表示する。

  2. 指定された変数または式の名前とその現在の値をモニタ・ビューに配置する。

ユーザがモニタしている変数または記憶位置の値が変更されたかどうかにかかわらず, プログラムはデバッガから制御が戻ると,モニタ・ビューを更新します。 対称的に,ウォッチポイントはウォッチされている変数の値が変化すると実行を停止します。

モニタ・ビューとMONITORコマンドについての詳しい説明は,『デバッガ説明書』を参照してください。

関連コマンド


DEPOSIT
EVALUATE
EXAMINE
SET WATCH

    DBG> MONITOR COUNT
    
    このコマンドはデバッガのDECwindows Motifインタフェースのモニタ・ビューに変数COUNT の名前と現在の値を表示します。プログラムからデバッガに制御が戻ると, 値は更新されます。

MOVE

画面ディスプレイを画面上で垂直または水平に移動します。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースには使用できません。

フォーマット

    MOVE   [display-name[, . . . ]]

パラメータ

display-name

移動するディスプレイを指定します。次のいずれかを指定できます。

ディスプレイを指定しないと,SELECTコマンドで設定した現在のスクロール・ ディスプレイが選択されます。

修飾子

/DOWN[:n]

ディスプレイをn行分だけ下に(nが正の値の場合) ,またはn行分だけ上に(nが負の値の場合) 移動します。nを省略すると,表示は1行下に移動されます。

/LEFT[:n]

ディスプレイをn行分だけ左に(nが正の値の場合) ,またはn行分だけ右に(nが負の値の場合) 移動します。nを省略すると,表示は左に1行移動されます。

/RIGHT[:n]

ディスプレイをn行分だけ右に(nが正の値の場合) ,またはn行分だけ左に(nが負の値の場合) 移動します。nを省略すると,表示は右に1行移動されます。

/SUFFIX[=process-identifier-type]

マルチプロセス・デバッグ構成の場合(DBG$PROCESSの値がMULTIPROCESS の場合)に指定できます。プロセスを識別する接尾辞がディスプレイ名に付きます。 この修飾子は,ディスプレイ名の直後に指定してください。 コマンドが実行された時点での可視プロセスが接尾辞に示されます。

/SUFFIX修飾子は,ディスプレイ定義またはディスプレイ定義に関連したキー定義を指定する場合のコマンド・ プロシージャで主に使用されます。

process-identifier-typeには次のいずれかのキーワードを指定できます。

PROCESS_NAME ディスプレイ名の後ろにプロセス名が付きます。
PROCESS_ NUMBER ディスプレイ名の後ろにプロセス番号(SHOW PR OCESSコマンドの実行で表示される番号)が付きます。
PROCESS_PID ディスプレイ名の後ろにプロセス識別子(PID ) が付きます。

/SUFFIXのあとにprocess-identifier-typeキーワードを指定しないと, プロンプトの接尾辞がディスプレイ名の接尾辞の省略時の値として使用されます。SET PROMPT/SUFFIX コマンドを参照してください。

/UP[:n]

修飾子は少なくとも1つ指定しなければなりません。

ディスプレイをn行分だけ上に(nが正の値の場合) ,またはn行分だけ下に(nが負の値の場合)移動します。 nを省略すると,ディスプレイは1行上に移動されます。

説明

少なくとも1つの修飾子を指定しなくてはなりません。

指定された表示ごとに,MOVEコマンドはウィンドウ内のテキストの相対位置を維持したまま, 画面上の他の場所に同じ寸法のウィンドウを作成し, それにディスプレイをマップします。

MOVEコマンドはディスプレイ・ペーストボード上でのディスプレイの順番は変更しません。MOVE コマンドを実行すると,指定したディスプレイによって他のディスプレイが見えなくなったり, 見えるようになったりします。 また,指定したディスプレイが他のディスプレイによって部分的または全体的に見えなくなることもあります。 どのようになるかはディスプレイ相互間の順序によります。

ディスプレイは上には画面の上辺までしか移動できません。

MOVEコマンドに対応するキーパッド・キー定義のリストについては,ヘルプ・ トピックKeypad_Definitions_CIを参照してください。また,現在のキー定義を調べるにはSHOW KEY コマンドを使用してください。

関連コマンド


DISPLAY
EXPAND
SELECT/SCROLL
(SET,SHOW) TERMINAL

  1. DBG> MOVE/LEFT
    
    このコマンドは現在のスクロール・ディスプレイを左に1列移動します。

  2. DBG> MOVE/UP:3/RIGHT:5 NEW_OUT
    
    このコマンドはNEW_OUTディスプレイを上に3行,右に5列移動します。

PTHREAD

実行のために,DECthreadsデバッガにコマンドを渡します。


注意
このコマンドは,イベント・ ファシリティがTHREADSであり,プログラムがDECthreads 3.13以降を実行している場合のみ有効です。

フォーマット

    PTHREAD   command

パラメータ

command

DECthreadsデバッグ・コマンドです。

説明

実行のために,DECthreadsデバッガにコマンドを渡します。 実行結果は,「Command」ビューに表示されます。DECthreadsデバッガ・ コマンドが完了すると,OpenVMSデバッガに制御が戻ります。 PTHREAD HELP と入力すると,DECthreadsデバッガ・コマンドのヘルプを参照することができます。

DECthreadsデバッガの使用方法の詳細については,『Guide to DECthreads』を参照してください。

関連コマンドには,次のものがあります。

    DBG_1> PTHREAD HELP
        conditions [-afhwqrs] [-N <n>] [id]...:
                                                list condition variables
        exit: exit from DECthreads debugger
        help [topic]: display help information
        keys [-v] [-N <n>] [id]...: list keys
        mutexes [-afhilqrs] [-N <n>] [id]...: list mutexes
        quit: exit from DECthreads debugger
        show [-csuv]: show stuff
        squeue [-c <n>] [-fhq] [-t <t>] [a]: format queue
        stacks [-fs] [sp]...: list stacks
        system: show system information
        threads [-1] [-N <n>] [-abcdfhklmnor]
                [-s <v>] [-tz] [id]...: list threads
        tset [-chna] [-s <v>] <id>: set state of thread
        versions: display versions
        write <st>: write a string
    All keywords may be abbreviated: if the abbreviation is ambiguous,
    the first match will be used. For more help, type 'help <topic>'.
    DBG_1>
    
    このコマンドでは,DECthreadsデバッガのヘルプ・ファイルが表示された後,OpenVMS デバッガに制御が戻っています。DECthreadsデバッガのヘルプ・ トピックについての情報を表示するには,PTHREAD HELP topicと入力します。

QUIT

EXITと同様にデバッグ・セッションを終了するか,またはマルチプロセス・ プログラムの1つまたは複数のプロセスを終了しますが,アプリケーション宣言終了ハンドラは実行不可能にします。 コマンド・プロシージャまたはDO 句の中で使用し,プロセスを全く指定しないと,その時点でそのコマンド・ プロシージャまたはDO句が終了します。

フォーマット

    QUIT   [process-spec[, . . . ]]

パラメータ

process-spec

このパラメータはマルチプロセス・デバッグ構成の場合(DBG$PROCESS の値がMULTIPROCESSの場合)に指定できます。

現在デバッガの制御下にあるプロセスを指定します。次のいずれかの形式で指定します。

[%PROCESS_NAME] proc-name スペースや小文字を全く含まないプロセス名。プロセス名にはワイルドカード文字のアスタリスク(*) を含むこともできます。
[%PROCESS_NAME] "proc-name" スペースや小文字を含むプロセス名。二重引用符(")の代わりに一重引用符(') を使用することもできます。
%PROCESS_PID proc-id プロセス識別子(PID ,16進数)。
%PROCESS_NUMBER proc-number (または%PROC proc-number) デバッガの制御下に入ったときにプロセスに割り当てられた番号。 プロセス番号はSHOW PROCESS コマンドの実行で表示されます。
proc-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コマンドを実行する場合, その句にある残りのコマンドは無視し,プロンプトを表示します。

指定プロセスの終了

マルチプロセス・プログラムをデバッグするためにマルチプロセス・デバッグ構成を使用している場合( 論理名DBG$PROCESSの値がMULTIPROCESSの場合) ,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. JONES_1> QUIT %NEXT_PROCESS, %PROCESS_NAME JONES_3, %PROC 5
    JONES_1>
    
    このコマンドを実行すると,マルチプロセス・プログラムの3つのプロセスが順序正しく終了します。 つまり,プロセス・リスト内の可視プロセスの次のプロセス, プロセスJONES_3,プロセス5が終了します。指定されたプロセスが終了したあと, 制御はデバッガに戻ります。

REBOOT (Alphaのみ)

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

指定された回数一連のコマンドを実行します。

フォーマット

    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回実行するループを設定します。

RERUN

現在デバッガの制御下にあるプログラムを再実行します。


注意
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"
    
    このコマンドは,現在のプログラムを新しい引数で返します。

RUN

プログラムをデバッガの制御下に置きます。


注意
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

ワークステーション・ユーザにだけ適用される。アプリケーションのメモリ使用状況を知るための機能であるヒープ・ アナライザを起動します。 ヒープ・アナライザの使用法についての詳しい説明は,『デバッガ説明書』を参照してください。

説明

DCLコマンドのDEBUG/KEEPで呼び出した場合のデバッグ・セッション中であればいつでもデバッガのRUN コマンドを使用して,デバッガの制御下でプログラムを起動できます。RUN コマンドを実行したのがプログラムのデバッグの最中であれば, プログラムはまず停止します。

同じプログラムつまり,現在デバッガの制御下にあるプログラムの同じバージョンを再び実行するには,RERUN コマンドを使用します。RERUNコマンドを使用すれば, 任意のブレークポイント,トレースポイント,静的ウォッチポイントの現在の状態( 有効か無効か)を保存できます。

RUNコマンドまたはRERUNコマンドを使用して引数を渡す方法については, 『デバッガ説明書』を参照してください。

デバッガのRUNコマンドに関する次の制限事項に注意してください。

関連コマンド


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 を引き渡します。

SAVE

これまでの画面ディスプレイの内容を新しいディスプレイでも保持します。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

    SAVE   old-display AS new-display [, . . . ]

パラメータ

old-display

内容を保存するディスプレイを指定します。次のいずれかを指定できます。

new-display

作成する新しいディスプレイの名前を指定します。この新しいディスプレイがold-disp ディスプレイの内容を受け取ります。

修飾子

/SUFFIX

マルチプロセス・デバッグ構成の場合(DBG$PROCESSの値がMULTIPROCESS の場合)に指定できます。プロセスを識別する接尾辞がディスプレイ名に付きます。 この修飾子は,ディスプレイ名の直後に指定してください。 コマンドが実行された時点での可視プロセスが接尾辞に示されます。

/SUFFIX修飾子は,ディスプレイ定義またはディスプレイ定義に関連したキー定義を指定する場合のコマンド・ プロシージャで主に使用されます。

process-identifier-typeには,次のいずれかのキーワードを指定できます。

PROCESS_NAME ディスプレイ名の後ろにプロセス名が付きます。
PROCESS_ NUMBER ディスプレイ名の後ろにプロセス番号(SHOW PROCESSコマンドの実行で表示される番号)が付きます。
PROCESS_PID ディスプレイ名の後ろにプロセス識別子(PID )が付きます。

/SUFFIXのあとにprocess-identifier-typeキーワードを指定しないと, プロンプトの接尾辞がディスプレイ名の接尾辞の省略時の値として使用されます。SET PROMPT/SUFFIX コマンドを参照してください。

説明

SAVEコマンドを使用すると,既存のディスプレイのスナップショット・ コピーを新しいディスプレイに保存し,あとで参照できます。新しいディスプレイのテキスト内容は, 既存のディスプレイのものと同じです。 通常の場合,新ディスプレイは画面から削除されたものを除いて旧ディスプレイの属性をすべて受け継ぎます。 自動的に更新されることはありません。DISPLAY コマンドを実行すれば,保存したディスプレイを端末画面に再度呼び出すことができます。

SAVEコマンドを使用すると,ディスプレイのメモリ・バッファ(DISPLAYコマンドの/SIZE 修飾子を指定することによって決定されます)に現在格納されている行だけが保存されます。 ただし,ソース・ディスプレイまたは機械語命令ディスプレイを保存した場合は, そのモジュールに関連したソース行は保存しなかったものも, またそのルーチンに関連した命令は保存しなかったものも, 保存したディスプレイをスクロールすることにより表示できます。

PROMPTディスプレイは保存できません。

関連コマンド


DISPLAY
EXITLOOP

    DBG> SAVE REG AS OLDREG
    
    このコマンドは,REGというディスプレイの内容を,新規作成したディスプレイOLDREG に保存します。

SCROLL

画面ディスプレイをスクロールして,ディスプレイ・ウィンドウにテキストの他の部分を表示します。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

    SCROLL   [display-name]

パラメータ

display-name

スクロールするディスプレイを指定します。次のいずれかを指定できます。

ディスプレイを指定しないと,SELECTコマンドで設定した現在のスクロール・ ディスプレイが選択されます。

修飾子

/BOTTOM

表示テキストの最後までスクロールします。

/DOWN:[n]

表示テキストをn行だけ下方へスクロールして, テキストの更に下の部分を表示します。 nを指定しないと,表示はウィンドウ高さの約3/4 ほどスクロールされます。

/LEFT:[n]

表示テキストをnで指定した欄数だけ左へスクロールし, ウィンドウの左側の境界より左にあるテキストを表示します。ただし, 欄1を越えてスクロールすることはできません。nを指定しないと,8 欄だけ左側へスクロールします。

/RIGHT[:n]

表示テキストをnで指定した欄数だけ右へスクロールし, ウィンドウの右側の境界より右にあるテキストを表示します。ただし, 欄255を越えてスクロールすることはできません。nを指定しないと,8 欄だけ右側へスクロールします。

/SUFFIX[=process-identifier-type]

マルチプロセス・デバッグ構成の場合(DBG$PROCESSの値がMULTIPROCESS の場合)に指定できます。プロセスを識別する接尾辞がディスプレイ名に付きます。 この修飾子は,ディスプレイ名の直後に指定してください。 コマンドが実行された時点での可視プロセスが接尾辞に示されます。

/SUFFIX修飾子は,ディスプレイ定義またはディスプレイ定義に関連したキー定義を指定する場合のコマンド・ プロシージャで主に使用されます。

process-identifier-typeには次のいずれかのキーワードを指定できます。

PROCESS_NAME ディスプレイ名の後ろにプロセス名が付きます。
PROCESS_ NUMBER ディスプレイ名の後ろにプロセス番号(SHOW PROCESSコマンドの実行で表示される番号)が付きます。
PROCESS_PID ディスプレイ名の後ろにプロセス識別子(PID) が付きます。

/SUFFIXのあとにprocess-identifier-typeキーワードを指定しないと, プロセス接尾辞がディスプレイ名の接尾辞の省略時の値として使用されます。SET PROMPT/SUFFIX コマンドを参照してください。

/TOP

表示テキストの最上部までスクロールします。

/UP[:n]

表示テキストをn行だけ上方へスクロールし,それより上にあるテキストを表示します。 nを指定しない場合,ディスプレイはウィンドウ高さの約3/4 ほどスクロールされます。

説明

SCROLLコマンドは,ディスプレイをウィンドウの上,下,右または左の方向に移動することにより, 表示テキストのいろいろな部分をウィンドウに表示できます。

SCROLLコマンド(現在のスクロール・ディスプレイ)のディスプレイを選択するときは,SELECT/SCROLL コマンドを使用します。

SCROLLコマンドに関連したキー定義については,ヘルプ・トピックKeypad_Definitions_CI を参照してください。また,現在のキー定義を調べるにはSHOW KEY コマンドを使用してください。

関連コマンドSELECT.

  1. DBG> SCROLL/LEFT
    
    このコマンドは,現在のスクロール・ディスプレイを8欄だけ左へスクロールします。

  2. DBG> SCROLL/UP:4 ALPHA
    
    このコマンドはスクロール・ディスプレイALPHAの4行上へスクロールします。

SEARCH

指定した文字列をソース・コードから検索し,その文字列を含んでいるソース行を表示します。

フォーマット

    SEARCH   [range] [string]

パラメータ

range

検索するプログラム領域を指定します。次のいずれかの書式を使用します。

mod-name 指定したモジュール内の行0 からモジュールの最後までの間で検索します。
mod-name\line-num 指定されたモジュール内の指定された行番号からモジュールの最後までの間で検索します。
mod-name\line-num:line- num 指定されたモジュール内のコロンの左で指定した行番号からコロンの右で指定した行番号までの間で検索します。
line-num 現在の有効範囲を使用してモジュールを決定し,そのモジュール内の指定された行番号からモジュールの最後までの間で検索します。 現在の有効範囲は, 前のSET SCOPEコマンドで設定されています。SET SCOPEコマンドを指定しなかった場合はPC 有効範囲です。SET SCOPEコマンドで有効範囲検索リストを指定すると, デバッガは最初に指定された有効範囲に関連したモジュールだけを検索します。
line- num:line-num 現在の有効範囲を使用してモジュールを決定し, そのモジュール内のコロンの左の行番号からコロンの右の行番号までの間で検索します。 現在の有効範囲は,前のSET SCOPEコマンドで設定されています。SET SCOPE コマンドを指定しなかった場合はPC 有効範囲です。SET SCOPE コマンドで有効範囲検索リストを指定すると,デバッガは最初に指定された有効範囲に関連したモジュールだけを検索します。
null (入力なし) 最後にソース行が表示された( たとえば,コマンドTYPE,EXAMINE /SOURCE, またはSEARCHを実行した結果)モジュールの中のその最後に表示された行の直後からそのモジュールの最後までの間で検索します。

string

検索するソース・コード文字を指定します。文字列を指定しない場合, 最後に実行したSEARCHコマンドで文字列を指定していればその文字列が使用されます。

次の場合は,文字列を二重引用符(")または一重引用符(')で囲まなければなりません。

文字列を二重引用符で囲む場合,文字列自体が二重引用符を含んでいればそれを示すために2 つの二重引用符("")を並べて使用します。一重引用符で囲む場合は,2 つの一重引用符('')を並べて使用して,文字列内の一重引用符であることを示します。

修飾子

/ALL

指定された範囲内の文字列をデバッガがすべて検索し,その文字列を含んでいる行ごとに表示することを指定します。

/IDENTIFIER

指定された範囲内で文字列を検索すると,さらに,その文字列が現在の言語で識別子の一部を構成する文字によってどちらの側にもつながっていない文字列なら, それを表示することを指定します。

/NEXT

省略時の設定。デバッガは指定された範囲内で文字列が次に出現するところを検索し, その文字列がある行だけ表示することを指定します。

/STRING

省略時の設定。デバッガは指定された文字列を検索して,表示するように, さらに文字列の出現箇所のコンテキストは解釈しないよう指定します。 後者の点は/IDENTIFIERの場合と異なります。

説明

SEARCHコマンドは,指定された文字列を含んでいるソース・コード行を表示します。

SEARCHコマンドでモジュール名を指定したら,そのモジュールは設定されていなければなりません。 特定のモジュールが設定されているかどうか確認するには,SHOW MODULE コマンドを使用します。設定されていなければSET MODULE コマンドを使用します。

SEARCHコマンドの修飾子は,デバッガが(1)その文字列のすべての出現を検索する(/ALL) かまたは次に出現するものを検索する(/NEXT)かを決定し,(2) 出現文字列をすべて(/STRING)表示するか,現在の言語で識別子を構成する文字によってどちら側にもつながっていない文字列だけ(/IDENTIFIER) を表示するかを決定します。

修飾子が同じSEARCHコマンドを複数個入力する場合,まず,SET SEARCHコマンドを使用して, 新しい省略時の修飾子を設定します。たとえば,SET SEARCH ALLと指定すると,SEARCHコマンドはSEARCH/ALLと同じように動作します。 この結果,SEARCHコマンドにこの修飾子を使用しないですみます。 またSEARCHコマンドで省略時の設定とは異なる修飾子を指定すれば, そのSEARCHコマンドの実行中は,現在の省略時の修飾子を上書きできます。

関連コマンド


(SET,SHOW) LANGUAGE
(SET,SHOW) MODULE
(SET,SHOW) SCOPE
(SET,SHOW) SEARCH

  1. DBG> SEARCH/STRING/ALL 40:50 D
    module COBOLTEST
        40: 02      D2N     COMP-2 VALUE -234560000000.
        41: 02      D       COMP-2 VALUE  222222.33.
        42: 02      DN      COMP-2 VALUE -222222.333333.
        47: 02      DR0     COMP-2 VALUE  0.1.
        48: 02      DR5     COMP-2 VALUE  0.000001.
        49: 02      DR10    COMP-2 VALUE  0.00000000001.
        50: 02      DR15    COMP-2 VALUE  0.0000000000000001.
    DBG>
    
    このコマンドは,現在の有効範囲にあるモジュールCOBOLTESTの行40〜50 で,文字Dをすべて検索します。

  2. DBG> SEARCH/IDENTIFIER/ALL 40:50 D
    module COBOLTEST
        41: 02      D       COMP-2 VALUE  222222.33.
    DBG>
    
    このコマンドは,COBOLTESTモジュールの行40〜50で文字Dをすべて検索します。 デバッガは,現在の言語で識別子の一部を構成する文字によって文字D( 検索文字列)のどちらの側にもつなっがていない行だけを表示します。

  3. DBG> SEARCH/NEXT 40:50 D
    module COBOLTEST
        40: 02      D2N     COMP-2 VALUE -234560000000.
    DBG>
    
    このコマンドは,COBOLTESTモジュールの行40〜50の間で次の文字Dを検索します。

  4. DBG> SEARCH/NEXT
    module COBOLTEST
        41: 02      D       COMP-2 VALUE  222222.33.
    DBG>
    
    このコマンドは,次の文字Dを検索します。Dが最後に入力したものであり, ほかに検索文字列を指定していないため,デバッガはこのDを検索文字列であるとみなします。

  5. DBG> SEARCH 43 D
    module COBOLTEST
        47: 02      DR0     COMP-2 VALUE  0.1.
    DBG>
    
    このコマンドは,行43から,次の省略時の設定文字Dを検索します。

SELECT

現在のエラー・ディスプレイ,入力ディスプレイ,機械語命令ディスプレイ, 出力ディスプレイ,プログラム・ディスプレイ,プロンプト・ディスプレイ, スクロール・ディスプレイ,またはソース・ディスプレイを画面ディスプレイとして選択します。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

    SELECT   [display-name]

パラメータ

display-name

選択するディスプレイを指定します。次のいずれかを指定できますが, 修飾子の説明で述べるように制限事項があります。

このパラメータを省略し,修飾子を指定しないと,現在のスクロール・ディスプレイの" 選択を解除する"ことになります。ディスプレイのスクロール属性がなくなります。 このパラメータを省略したのに修飾子/INPUT, /SOURCEなどを指定すると,その属性を持つ現在のディスプレイの選択が解除されます。 修飾子の説明を参照してください。

修飾子

/ERROR

指定されたディスプレイを現在のエラー・ディスプレイ として選択します。この結果,すべてのデバッガ診断メッセージがそのディスプレイに送られます。 指定するディスプレイは,出力ディスプレイかPROMPT ディスプレイのどちらかでなければなりません。ディスプレイを指定しないと,PROMPT 表示が現在のエラー・ディスプレイとして選択されます。 省略時には,PROMPTディスプレイがエラー属性を持ちます。

/INPUT

指定されたディスプレイを現在の入力ディスプレイとして選択します。 この結果,このディスプレイにデバッガ入力(PROMPTディスプレイ内に表示されます) がエコーバックされます。指定するディスプレイは出力ディスプレイでなければなりません。

ディスプレイを指定しないと,現在の入力ディスプレイが選択解除され, デバッガ入力はどのディスプレイにもエコーバックされません。デバッガ入力はPROMPT ディスプレイにだけ表示されます。省略時には,どのディスプレイも入力属性を持ちません。

/INSTRUCTION

指定されたディスプレイを現在の機械語命令ディスプレイ として選択します。この結果,すべてのEXAMINE/INSTRUCTIONコマンドの出力がそのディスプレイに送られます。 指定されたディスプレイは,機械語命令ディスプレイでなければなりません。

ディスプレイを指定しないと,現在の機械語命令ディスプレイが選択解除され, どのディスプレイも命令属性を持ちません。

省略時には,MACRO-32 MACRO-32を除くどの言語にも命令属性を持つディスプレイはありません。 言語をMACRO-32 MACRO-32に設定すると,INSTディスプレイは省略時に命令属性を持ちます。

/OUTPUT

指定されたディスプレイを現在の出力ディスプレイとして選択します。 この結果,デバッガは他のディスプレイに出力先が指定されていない出力をこのディスプレイに送ります。 指定されたディスプレイは出力ディスプレイまたはPROMPT ディスプレイのどちらかでなければなりません。

ディスプレイを指定しないと,PROMPTディスプレイが現在の出力ディスプレイとして選択されます。 省略時には,OUTディスプレイが出力属性を持ちます。

/PROGRAM

指定されたディスプレイを現在のプログラム・ディスプレイ として選択します。この結果,デバッガはプログラムの入出力をそのディスプレイに送り込もうとします。 現在は,PROMPTディスプレイだけを指定できます。

ディスプレイを指定しないと,現在のプログラム・ディスプレイは選択解除され, プログラムの入出力は指定されたディスプレイには送られなくなります。

省略時には,PROMPTディスプレイがプログラム属性を持ちます。ただし, ワークステーションでは,プログラム属性が選択解除されます。

/PROMPT

指定されたディスプレイを現在のプロンプト・ディスプレイとして選択します。 デバッガは,ここに入力を促すプロンプトをディスプレイします。 現在のところ,PROMPTディスプレイだけ指定できます。また, PROMPTディスプレイの選択解除はできません(PROMPTディスプレイは常にプロンプト属性を持っています) 。

/SCROLL

省略時の設定。指定されたディスプレイが現在のスクロール・ ディスプレイとして選択されます。これは,コマンドSCROLL, MOVE,EXPAND用の省略時のディスプレイです。どのディスプレイもスクロール属性を持つことができますが,PROMPT ディスプレイで使用できるのは, MOVEコマンドとEXPANDコマンドだけです(SCROLLコマンドは使用できません) 。

ディスプレイを指定しないと,現在のスクロール・ディスプレイは選択解除され, どのディスプレイもスクロール属性を持たなくなります。

省略時には,MACRO-32 MACRO-32を除くどの言語の場合にも,SRCディスプレイがスクロール属性を持ちます。 言語がMACRO-32 MACRO-32に設定されると,INST ディスプレイが省略時設定としてスクロール属性を持ちます。

/SOURCE

指定されたディスプレイを現在のソース・ディスプレイとして選択します。 この結果,すべてのTYPEコマンドとEXAMINE/SOURCEコマンドの出力がそのディスプレイに送られます。 指定されたディスプレイはソース・ ディスプレイでなければなりません。

ディスプレイを指定しないと,現在のソース・ディスプレイが選択解除され, どのディスプレイもソース属性を持たないことになります。

省略時には,MACRO-32 MACRO-32を除くどの言語の場合にも,SRCディスプレイがソース属性を持ちます。 言語がMACRO-32 MACRO-32に設定されると, どのディスプレイも省略時設定としては,ソース属性を持ちません。

/SUFFIX[=process-identifier-type]

マルチプロセス・デバッグ構成の場合(DBG$PROCESSの値がMULTIPROCESS の場合)に指定できます。プロセスを識別する接尾辞がディスプレイ名に付きます。 この修飾子は,ディスプレイ名の直後に指定してください。 コマンドが実行された時点での可視プロセスが接尾辞に示されます。

/SUFFIX修飾子は,ディスプレイ定義またはディスプレイ定義に関連したキー定義を指定する場合のコマンド・ プロシージャで主に使用されます。

process-identifier-typeには次のいずれかのキーワードを指定できます。

PROCESS_NAME ディスプレイ名の後ろにプロセス名が付きます。
PROCESS_ NUMBER ディスプレイ名の後ろにプロセス番号(SHOW PROCESSコマンドの実行で表示される番号)が付きます。
PROCESS_PID ディスプレイ名の後ろにプロセス識別番号(PID) が付きます。

/SUFFIXのあとにprocess-identifier-typeキーワードを指定しないと, プロンプトの接尾辞がディスプレイ名の接尾辞の省略時の値として使用されます。SET PROMPT/SUFFIX コマンドを参照してください。

説明

属性は,現在のスクロール・ディスプレイを選択し,各種のデバッガ出力を特定のディスプレイに出力することを指定するのに使用します。 これにより,デバッガ入力,デバッガ出力,デバッガ診断メッセージなどの種類の異なる情報をスクロール可能なディスプレイ内に混ぜて示したり, 別のディスプレイに示したりできます。

SELECTコマンドに1つまたは複数の修飾子(/ERROR,/SOURCEなど)を指定すると,1 つのディスプレイに相当する属性を1つまたは複数個割り当てることができます。 修飾子を指定しないと,省略時の値として/SCROLLが指定されているものとみなされます。

SELECTコマンドにディスプレイ名を指定しないと,修飾子が示している属性割り当ては取り消されます( 選択解除されます)。表示属性を再割り当てするには, もう一度SELEC Tコマンドを実行しなければなりません。詳しい説明は, 各修飾子を参照してください。

SELECTコマンドに関連したキー定義は,ヘルプ・トピックKeypad_ Definitions_CIを参照してください。また,現在のキー定義を調べるには,SHOW KEY コマンドを使用してください。

関連コマンド


DISPLAY
EXPAND
MOVE
SCROLL
SHOW SELECT

  1. DBG> SELECT/SOURCE/SCROLL SRC2
    
    このコマンドは,SRC2ディスプレイを現在のソース・ディスプレイおよびスクロール・ ディスプレイとして選択します。

  2. DBG> SELECT/INPUT/ERROR OUT
    
    このコマンドは,OUTディスプレイを現在の入力ディスプレイおよびエラー・ ディスプレイとして選択します。この結果,デバッガ入力,デバッガ出力(OUT を現在の出力ディスプレイとみなして),デバッガ診断メッセージがOUT ディスプレイ内に正しい順に記録されます。

  3. DBG> SELECT/SOURCE
    
    このコマンドは,現在選択されているソース・ディスプレイを選択解除( 現在選択されているソース・ディスプレイからソース属性を削除)します。TYPE コマンドまたはEXAMINE /SOURCEコマンドの出力は,現在選択されている出力ディスプレイに送られます。

SET ABORT_KEY

デバッガの強制終了機能を他のCtrlキー・シーケンスに割り当てます。省略時には,Ctrl/C が強制終了機能になります。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

    SET ABORT_KEY   = CTRL_character

パラメータ

character

Ctrlキーを押している間に押すキーを指定します。どの英数字のキーでも指定できます。

説明

省略時の設定では,デバッグ・セッション中にCtrl/Cを入力すると, デバッガ・コマンドの実行が強制終了され,プログラムの実行に割り込みがかかります。SET ABORT_KEY コマンドを使用して,この強制終了機能を他のCtrl キー・シーケンスに割り当てることができます。これは,プログラムでCtrl/C AST サービス・ルーチンを使用する場合に必要です。

Ctrlキー・シーケンスには定義済みの機能がすでに割り当てられている場合が多く,SET ABORT_KEY コマンドを実行すると,このようなキー定義が上書きされます『 OpenVMSユーザーズ・マニュアル』を参照してください) 。オペレーティング・システムのCtrlキー文字で使用されていないのは,G ,K,N,およびPです。

SHOW ABORT_KEYコマンドは,現在有効な強制終了機能としてCtrlキーシーケンスを表示します。

デバッグ・セッションではCtrl/Yは使用できません。代わりに,Ctrl/Cを使用するか,SET ABORT_KEY コマンドで設定した同等のCtrlキー・シーケンスを使用してください。

関連コマンド


Ctrl/C
Ctrl/Y
SHOW ABORT_KEY

    DBG> SHOW ABORT_KEY
    Abort Command Key is CTRL_C
    DBG> GO
         . . .
        <Ctrl/C>
    DBG> EXAMINE/BYTE 1000:101000  !should have typed 1000:1010
    1000: 0
    1004: 0
    1008: 0
    1012: 0
    1016: 0
        <Ctrl/C>
    %DEBUG-W-ABORTED, command aborted by user request
    DBG> SET ABORT_KEY = CTRL_P
    DBG> GO
         . . .
        <Ctrl/P>
    DBG> EXAMINE/BYTE 1000:101000  !should have typed 1000:1010
    1000: 0
    1004: 0
    1008: 0
    1012: 0
    1016: 0
        <Ctrl/P>
    %DEBUG-W-ABORTED, command aborted by user request
    DBG>
    
    この例は,次のことを示しています。

SET ATSIGN

 

デバッガがコマンド・プロシージャの検索に使用する省略時のファイル指定を設定します。

フォーマット

    SET ATSIGN   file-spec

パラメータ

file-spec

省略時にデバッガがコマンド・プロシージャの検索に使用するファイル指定の任意の部分( たとえば,ディレクトリ名またはファイルの種類など) を指定します。完全なファイル指定を行わないと,デバッガは,欠落しているフィールドの省略時のファイル指定はSYS$DISK:[]DEBUG.COM であるとみなします。

検索リストに変換する論理名を指定できます。この場合,デバッガは,目的のコマンド・ プロシージャが見つかるまで,検索リストに並んでいる順にファイル指定を処理します。

説明

実行プロシージャ(@)コマンドでデバッガ・コマンド・プロシージャを起動すると, デバッガは,省略時の設定として,コマンド・プロシージャのファイル指定がSYS$DISK:[]DEBUG.COM であるとみなします。SET ATSIGNコマンドを指定すると,この省略時の設定を上書きできます。

関連コマンド


@ (実行プロシージャ)
SHOW ATSIGN

    DBG> SET ATSIGN USER:[JONES.DEBUG].DBG
    DBG> @TEST
    
    この例では,@TESTコマンドを実行するとデバッガがUSER:[JONES.DEBUG] 内で TEST.DBGファイルを探します。

SET BREAK

特定のクラスの命令または指定されたイベントの発生時に,アドレス式で示された記憶位置にブレークポイントを設定します。

フォーマット

    SET BREAK   [address-expression[, . . . ]]
               [WHEN(conditional-expression)]
               [DO(command[; . . . ])]

パラメータ

address-expression

ブレークポイントを設定するアドレス式(プログラム記憶位置)を指定します。 高級言語の場合,これはたいてい,行番号,ルーチン名, またはラベルです。値を一意に指定するパス名をいれることもできます。 また,アドレス式はメモリ・アドレスまたはレジスタの場合もあります。 数字(オフセット)とシンボルで構成したり,1つまたは複数の演算子, オペランド,または区切り文字で構成したりできます。アドレス式で使用できる演算子についての詳しい説明は, ヘルプ・トピックAddress_Expressions を参照してください。

ワイルドカード文字のアスタリスク(*)は使用できません。また次の修飾子では, アドレス式を指定できません。


/ACTIVATING
/BRANCH
/CALL
/EXCEPTION
/HANDLER
/INSTRUCTION
/INSTRUCTION=(opcode[, . . . ]) (VAXのみ)
/INTO
/[NO]JSB (VAXのみ)
/LINE
/OVER
/[NO]SHARE
/[NO]SYSTEM
/SYSEMULATE (Alphaのみ)
/TERMINATING
/UNALIGNED_DATA (Alphaのみ)
/VECTOR_INSTRUCTION (VAXのみ)

/MODIFY修飾子と/RETURN修飾子は,特定の種類のアドレス式に指定できます。

メモリ・アドレスを指定したり,値がシンボリック記憶位置でないアドレス式を指定する場合は, これにより指定されたメモリ・バイトで命令が実際に始まっているかを (EXAMINE コマンドを使用して)チェックしてください。 命令がこのバイトで始まっていないと,そのバイトを持つ命令を実行したときに実行時エラーが発生します。 値がシンボリック記憶位置でないアドレス式を指定してブレークポイントを設定しても, デバッガは指定された記憶位置が命令の開始位置を示しているかどうかをチェックしません。

たとえば,VAXシステムの場合は,CALLSルーチンとCALLGルーチンは,エントリ・ マスクで始まります。

conditional-expression

現在設定されている言語で条件式を指定します。この式は実行がブレークポイントに達したときに評価されます。( ブレークポイントが設定されたときではなく, 実行がブレークポイントに達すると,デバッガはWHEN 句にある式の構文をチェックします。)式が真であれば,デバッガは,ブレークポイントがトリガされたことを報告します。 ブレーク・アクション(DO 句)がブレークポイントと関連付けられている場合は,同時に実行されます。 式が偽の場合は報告されません。また,DO句によって指定されたコマンドは実行されず, プログラムの実行は続行されます。

command

ブレーク・アクションが実行されたときに,DO句の一部として実行されるデバッガ・ コマンドを指定します。ブレークポイントが設定されたときではなく,DO 句が実行されると,デバッガはDO句にある式の構文をチェックします。

修飾子

/ACTIVATING

マルチプロセス・デバッグ構成の場合(DBG$PROCESSの値がMULTIPROCESS の場合)に指定できます。新しいプロセスがデバッガの制御下に置かれると, デバッガはブレークします。最初のプロセスがデバッガの制御下に置かれると, デバッガ・プロンプトが表示されます。この結果, プログラムが実行を開始する前にデバッガ・コマンドを入力できます。 /TERMINATING修飾子も参照してください。

/AFTER:n

指定されたブレークポイントがn回検出されるまで, ブレーク・アクションを行わないことを指定します(nは10進整数です) 。それ以降は,WHEN句の条件(指定された場合)が真ならば,検出されるたびにブレークポイントが発生します。SET BREAK/AFTER:1 コマンドは, SET BREAKと同じです。

/BRANCH

プログラムの実行中に分岐命令を検出するたびに,デバッガがブレークします。/INTO 修飾子と/OVER修飾子も参照してください。

/CALL

プログラムの実行中に呼び出し命令(RET命令を含む)を検出するたびにデバッガがブレークします。/INTO 修飾子と/OVER修飾子も参照してください。

/EVENT=event-name

指定されたイベントが発生する(現在のイベント機能によってイベントが定義され, そのイベントが検出される)と,デバッガがブレークします。 アドレス式に/EVENT を指定すると,そのアドレス式に対して指定されたイベントが発生するたびにデバッガがブレークします。 アドレス式に特定のイベント名を指定することはできません。

イベント機能は,AdaルーチンまたはSCANルーチンを呼び出すプログラムまたはDECthreads サービスを使用するプログラムで使用できます。 現在のイベント機能および関連したイベント名を表示するには,SHOW EVENT_FACILITY コマンドを使用します。

/EXCEPTION

例外がシグナル通知されるたびにデバッガがブレークします。 ブレーク・アクションは,アプリケーションが宣言した例外ハンドラが起動される前に実行されます。

プログラムが例外を生成すると,SET BREAK/EXCEPTIONコマンドの結果として, デバッガはプログラムの実行を中断して例外を報告し,そのプロンプトを表示します。 例外ブレークポイントから実行を再開した場合,次のいずれかの動作が実行されます。

Alphaプロセッサでは,例外が発生した命令実行の直後に, 例外を(プログラムまたはデバッガに)通知できないことがあります。 したがって,デバッガは,実行の結果実際に例外を生成した命令よりあとの命令で実行を中断することがあります。

/HANDLER

デバッグしているプログラムに例外がある場合,デバッガは呼び出しスタックをスキャンし, 設定されているフレーム・ベースの各ハンドラでブレークポイントを設定しようとします。 デバッガは,標準のRTLハンドラとユーザ定義ハンドラを区別しません。

Alphaシステムでは,ユーザ・プログラムが独自のハンドラを定義しているフレームで, 多くのRTLがジャケットRTLハンドラを設定します。このRTL ジャケットは,ユーザが定義したハンドラを実際に呼び出す前に,何らかの設定と引数の操作を実行します。 例外を処理する場合,デバッガは, ジャケットRTLハンドラが呼び出しスタック上のアドレスであるため, そこにブレークポイントを設定します。デバッガがジャケットRTLハンドラでプログラムの実行を中止した場合には, 通常,STEP/CALLコマンドとSTEP/INTO コマンドを実行して,ユーザ定義ハンドラに到達することができます。 場合によっては,STEP/CALLコマンドとSTEP/INTOコマンドをさらに入力しなければならないことがあります。 フレーム・ベースのハンドラの詳細については, 『OpenVMS Calling Standard』を参照してください。

ジャケットRTLハンドラが,ALPHA LIBOTSなど,インストールされている共用イメージの一部である場合には, デバッガはそこにブレークポイントを設定できません。 この場合には,RTLを論理名として定義して,RTLをプライベート・ イメージとして有効にしてください。次の例を参照してください。

       $DEFINE LIBOTS SYS$SHARE:LIBOTS.EXE;

最後のセミコロン(;)は必ず指定してください。

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

命令コードを指定しないと,プログラム実行中に命令を検出するたびにデバッガがブレークします。

VAXプロセッサの場合に限り,命令コードを1つまたは複数個選択して指定できます。 これによって,リスト内で指定した命令コードが実行されるたびに, デバッガがブレークします。

ベクタ命令を指定するとき(VAXのみ),命令修飾子(/UNALIGNED_DATA, /VECTOR_INSTRUCTION,/MODIFY,/0,または/1)と命令ニーモニックの両方をいれることはできません。

/INTO修飾子と/OVER修飾子も参照してください。

/INTO

省略時の設定。次の修飾子で設定されているブレークポイント( すなわち,アドレス式が明示的に指定されていない場合)にだけ指定できます。
/BRANCH
/CALL
/INSTRUCTION
/INSTRUCTION=(opcode[, . . . ]) (VAXのみ)
/LINE
/VECTOR_INSTRUCTION (VAXのみ)

これらの修飾子といっしょに使用すると,/INTOは,呼び出されたルーチン内( 実行が現在中断されているルーチン内だけでなく)の指定された地点でデバッガがブレークします。/INTO 修飾子は省略時の設定であり,/OVER の反対です。

/INTOを使用すると,/[NO]JSB,/[NO]SHARE,および/[NO]SYSTEMでブレーク・ アクションをさらに修飾できます。

/JSB
/NOJSB

(VAXのみ) /INTOを修飾します。/INTOと次のいずれかの修飾子といっしょに使用します。
/BRANCH
/CALL
/INSTRUCTION
/INSTRUCTION=(opcode[, . . . ])
/LINE
/VECTOR_INSTRUCTION

/JSB修飾子は,DIBOL以外のすべての言語における省略時の値です。デバッガは,JSB 命令またはCALL命令によって呼び出されるルーチン内でブレークします。/NOJSB 修飾子(DIBOLのときの省略時の設定)は,JSB命令によって呼び出されるルーチン内でブレークポイントを設定しないことを指定します。DIBOL の場合,アプリケーションで宣言したルーチンはCALL命令によって呼び出され,DIBOL 実行時ライブラリ・ルーチンがJSB命令によって呼び出されます。

/LINE

プログラムの実行中にソース行が検出されるたびにその行の先頭で, デバッガがブレークします。/INTO修飾子と/OVER修飾子も参照してください。

/MODIFY

アドレス式が示す記憶位置に値を書き込んで変更する命令を検出するたびに, デバッガがブレークします。アドレス式は,通常の場合変数名です。

SET BREAK/MODIFYコマンドは,SET WATCHコマンドと全く同じように動作し, 同じ制限事項が適用されます。

アドレス式に絶対アドレスを指定すると,デバッガがアドレスを特定のデータ・ オブジェクトに関連づけることができない場合があります。この場合, デバッガは省略時の長さとして4バイトを使用します。ただし,この長さは, 入力をWORD (SET TYPE WORDで省略時の長さを2バイトに変更する) かBYTE (SET TYPE BYTEで省略時の長さを1バイトに変更する)に設定すれば変更できます。SET TYPE LONGWORD を指定すると,省略時の長さは4バイトに戻ります。

/OVER

次のいずれかの修飾子で設定されているブレークポイント(すなわち, アドレス式が明示的に指定されていない場合)だけに指定できます。
/BRANCH
/CALL
/INSTRUCTION
/INSTRUCTION=(opcode[, . . . ]) (VAXのみ)
/LINE
/VECTOR_INSTRUCTION (VAXのみ)

これらの修飾子といっしょに/OVERを使用すると,(呼び出されたルーチン内ではなく) 現在実行を中断しているルーチン内だけの指定された地点でデバッガはブレークします。/OVER 修飾子は,/INTO (省略時の設定)の反対です。

/RETURN

指定されたアドレス式(ルーチン名,行番号など)に関連しているルーチンの復帰命令でデバッガがブレークします。 復帰命令でブレークすると, ルーチンがアクティブである間ローカル環境を調べること(たとえば, ローカル変数の値を得るなど)ができます。ローカル環境のビューはアーキテクチャにより異なるので注意してください。

VAXプロセッサの場合,この修飾子は,CALLS命令またはCALLG 命令で呼び出したルーチンにだけ指定できます。JSBルーチンでは使用できません。Alpha プロセッサの場合, この修飾子は,どのルーチンにも指定できます。

address-expressionパラメータは,ルーチン内の命令アドレスです。 単なるルーチン名の場合もあります。この場合は,ルーチンの開始アドレスを指定します。 ただし,ルーチン内の別の記憶位置を指定することもできます。 こうすると,特定のプログラム部分を実行したあとに行われる戻りだけを表示できます。

SET BREAK/RETURNコマンドでSET BREAKと同じアドレス式を指定すると, 前回のSET BREAKは取り消されます。

/SHARE (省略時の設定)
/NOSHARE

/INTOを修飾します。/INTOと次のいずれかの修飾子といっしょに使用します。
/BRANCH
/CALL
/INSTRUCTION
/INSTRUCTION=(opcode[, . . . ]) (VAXのみ)
/LINE
/VECTOR_INSTRUCTION (VAXのみ)

/SHARE修飾子を使用すると,他のルーチンだけでなく共用可能イメージ・ ルーチン内でもデバッガをブレークできます。/NOSHARE修飾子は,共用可能イメージ内でブレークポイントを設定しないことを指定します。

/SILENT
/NOSILENT (省略時の設定)

"break . . . "メッセージと,現在の記憶位置のソース行をブレークポイントで表示するかどうかを制御します。/NOSILENT 修飾子を指定すると, メッセージが表示されます。/SILENT修飾子を指定すると,メッセージとソース行は表示されません。/SILENT 修飾子を指定すると,/SOURCEは上書きされます。SET STEP [NO]SOURCE コマンドも参照してください。

/SOURCE (省略時の設定)
/NOSOURCE

現在の記憶位置のソース行をブレークポイントで表示するかどうかを制御します。/SOURCE 修飾子を指定すると,ソース行が表示されます。/NOSOURCE 修飾子を指定すると,ソース行は表示されません。/SILENT修飾子を指定すると,/SOURCE は上書きされます。SET STEP [NO]SOURCEコマンドも参照してください。

/SYSEMULATE[=mask]

(Alphaのみ)オペレーティング・システムが命令をエミュレートした後, プログラムの実行を停止し,制御をデバッガに戻します。maskは省略可能な引数であり, エミュレートされたどの命令グループがブレークポイントを発生させるかを指定するためのビットを設定した符号なしクォドワードです。 現在定義されているエミュレート済み命令グループは,BYTE命令とWORD 命令です。この命令グループは,maskのビット0を1に設定することにより選択します。

maskが指定されていない場合や,mask = FFFFFFFFFFFFFFFFの場合には,オペレーティング・システムが任意の命令をエミュレートしたときに, デバッガはプログラムの実行を停止します。

/SYSTEM (省略時の設定)
/NOSYSTEM

/INTOを修飾します。/INTOと次のいずれかの修飾子といっしょに使用します。
/BRANCH
/CALL
/INSTRUCTION
/INSTRUCTION=(opcode[, . . . ]) (VAXのみ)
/LINE
/VECTOR_INSTRUCTION (VAXのみ)

/SYSTEM修飾子を指定すると,他のルーチンだけでなくシステム・ルーチン(P 1 空間)内でもデバッガがブレークできます。/NOSYSTEM修飾子を指定すると, システム・ルーチン内ではブレークポイントが設定されません。

/TEMPORARY

ブレークポイントを検出したあとでブレークポイントを消去します( ブレークポイントを一時的に設定するときに使用します)。

/TERMINATING

プロセスがイメージを終了したときにデバッガがブレークします。 デバッガに制御が戻り,単一プロセス・プログラムまたはマルチプロセス・ プログラムの最後のイメージが終了すると,そのプロンプトを表示します。 イメージが$EXITシステム・サービスを実行し,その終了ハンドラがすべて実行されると, プロセスは終了します。/ACTIVATING修飾子も参照してください。

/UNALIGNED_DATA

(Alphaのみ)境界に合っていないデータにアクセスすると, その命令の直後( たとえば,ワード境界にないデータにアクセスするワード・ロード命令のあとで) でデバッガがブレークします。

/VECTOR_INSTRUCTION

(VAXのみ)プログラム実行中にベクタ命令を検出するたびにデバッガがブレークします。/INTO 修飾子と/OVER修飾子も参照してください。

説明

ブレークポイントが検出されると,デバッガは次のいずれかの動作を行います。

  1. ブレークポイント設定位置でプログラムの実行を中断する。

  2. ブレークポイントの設定時に/AFTERを指定した場合,AFTER回数をチェックする。 指定された回数に達していないと実行が再開され, デバッガは残りのステップを実行しない。

  3. ブレークポイントの設定時にWHEN句を指定した場合,WHEN句の式を評価する。 式の値が偽であれば実行が再開され,デバッガは残りのステップに実行を移さない。

  4. /SILENTが指定されていない場合,"break . . . " メッセージを発行して, プログラム制御がブレークポイント設定位置にきたことを報告する。

  5. ブレークポイントの設定時に/NOSOURCEも/SILENTも指定しないか, またはSET STEP NOSOURCEを入力していない場合,実行を中断したソース・ コード行を表示する。

  6. ブレークポイントの設定時にDO句を指定していれば,そのDO句内のコマンドを実行する。DO 句にGOコマンドが含まれていれば実行を続行し, デバッガは次のステップに移らない。

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

プログラムの特定の記憶位置にブレークポイントを設定するには,SET BREAKコマンドでアドレス式を指定します。連続したソース行,命令クラス, またはイベントにブレークポイントを設定するには,SET BREAKコマンドで修飾子を指定します。 通常はアドレス式か修飾子のどちらかを指定するだけでよく, 両方を指定する必要はありません。ただし,/EVENT と/RETURNの場合は両方指定しなければなりません。

/LINE修飾子は各ソース・コード行ごとにブレークポイントを設定します。

次の修飾子は命令クラスにブレークポイントを設定します。これらの修飾子と/LINE をいっしょに使用すると,デバッガはプログラムの実行中に各命令をトレースするので, 実行速度が著しく遅くなります。


/BRANCH
/CALL
/INSTRUCTION
/INSTRUCTION=(opcode[, . . . ]) (VAXのみ)
/RETURN
/VECTOR_INSTRUCTION (VAXのみ)

次の修飾子は,イベント・クラスにブレークポイントを設定します。


/ACTIVATING
/EVENT=event-name
/EXCEPTION
/SYSEMULATE (Alphaのみ)
/TERMINATING
/UNALIGNED_DATA (Alphaのみ)

次の修飾子は,ルーチンを呼び出したときに何が起こるかを決定します。


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

次の修飾子は,ブレークポイントに達したときにどんな出力を表示するかを決定します。


/[NO]SILENT
/[NO]SOURCE

次の修飾子は,ブレークポイントのタイミングと期間を決定します。


/AFTER:n
/TEMPORARY

プログラム記憶位置の変更(通常は変数値の変更)をモニタするには, /MODIFY 修飾子を使用します。

現在トレースポイントとして使用されている記憶位置をブレークポイントとして設定すると, トレースポイントは取り消されます。また,逆も同様です。

OpenVMS Alphaシステムの場合,SET BREAK/UNALIGNED_DATAコマンドは$START_ALIGN_FAULT_REPORT システム・サービス・ルーチンを呼び出します。 デバッグしているプログラムに,同じ$START_ALIGN_FAULT_REPORT ルーチンへの呼び出しがある場合は,このコマンドを実行しないでください。 プログラムを呼び出す前にこのコマンドを実行すると,この呼び出しは異常終了します。 このコマンドを実行する前にプログラムが呼び出されると, 境界に合っていないデータに対するブレークは設定されません。

ブレークポイントには,ユーザが定義するものと定義済みのものとがあります。 ユーザ定義のブレークポイントは,ユーザがSET BREAKコマンドで明示的に設定したブレークポイントです。 定義済みのブレークポイントは, デバッグするプログラムの種類(Adaあるいはマルチプロセスなど)によって異なりますが, デバッガの起動時に自動的に設定されます。現在設定されているすべてのブレークポイントを表示するには,SHOW BREAK コマンドを使用します。 定義済みのブレークポイントは定義済みのものとして表示されます。

ユーザ定義ブレークポイントと定義済みブレークポイントは,それぞれ別々に設定したり取り消したりします。 たとえば,1つの記憶位置またはイベントに, ユーザ定義ブレークポイントと定義済みブレークポイントの両方を設定することができます。 ユーザ定義ブレークポイントを取り消しても, 定義済みブレークポイントは影響を受けません。逆も同様です。

関連コマンド


(ACTIVATE,DEACTIVATE,SHOW,CANCEL) BREAK
CANCEL ALL
GO
(SET,SHOW) EVENT_FACILITY
SET STEP [NO]SOURCE
SET TRACE
SET WATCH
STEP

  1. DBG> SET BREAK SWAP\%LINE 12
    
    このコマンドの場合,SWAPモジュールの行12でデバッガがブレークします。

  2. DBG> SET BREAK/AFTER:3 SUB2
    
    このコマンドの場合,SUB2 (ルーチン)が3度目以降に実行されたときにデバッガがブレークします。

  3. DBG> SET BREAK/NOSOURCE LOOP1 DO (EXAMINE D; STEP; EXAMINE Y; GO)
    
    このコマンドの場合,LOOP1のアドレスでデバッガがブレークします。 ブレークポイントでは,次のコマンドが順に実行されます。(1) EXAMINE D ,(2) STEP,(3) EXAMINE Y,(4) GO。/NOSOURCE修飾子を指定したので, ブレークポイントではソース・コードが表示されません。

  4. DBG> SET BREAK ROUT3 WHEN (X > 4) DO (EXAMINE Y)
    
    このコマンドの場合,Xが4より大きい場合にROUT3ルーチンでデバッガがブレークします。 ブレークポイントでは,EXAMINE Yコマンドが実行されます。WHEN 句の条件式の構文は,言語によって異なります。

  5. DBG> SET BREAK/TEMPORARY 1440
    DBG> SHOW BREAK
    breakpoint at 1440 [temporary]
    DBG>
    
    このコマンドの場合,メモリ・アドレス1440にブレークポイントが一時的に設定されます。 検出されるとこのブレークポイントは無効になります。

  6. DBG> SET BREAK/LINE
    
    このコマンドの場合,プログラムの実行中にソース行を検出するたびにその行の先頭でデバッガがブレークします。

  7. DBG> SET BREAK/LINE WHEN (X .NE. 0)
    DBG> SET BREAK/INSTRUCTION WHEN (X .NE. 0)
    
    この2つのコマンドの場合,Xが0でないときにデバッガがブレークします。 最初のコマンドは,実行中に検出されたソース行の先頭で条件を満足しているかどうか調べます。2 つめのコマンドは,各命令で,条件を満足しているかどうかを調べます。WHEN 句の条件式の構文は,言語によって異なります。

  8. DBG> SET BREAK/INSTRUCTION=ADDL3
    
    (VAXのみ)このコマンドの場合,ADDL3命令が実行される直前にデバッガがブレークします。

  9. DBG> SET BREAK/LINE/INTO/NOSHARE/NOSYSTEM
    
    このコマンドの場合,各ソース行の先頭でデバッガがブレークします。この行には, 呼び出されたルーチン(/INTO)内の行を含み,共用可能イメージ・ ルーチン(/NOSHARE)内とシステム・ルーチン(/NOSYSTEM)内の行は含まれません。

  10. DBG> SET BREAK/RETURN ROUT4
    
    このコマンドの場合,ROUT4ルーチンの復帰命令を実行する直前にデバッガがブレークします。

  11. DBG> SET BREAK/RETURN %LINE 14
    
    このコマンドの場合,行14を含んでいるルーチンの復帰命令を実行する直前に, デバッガがブレークします。このコマンド書式は,ルーチン内で現在実行が中断しており, そのルーチンの復帰命令でブレークポイントを設定したい場合に便利です。

  12. DBG> SET BREAK/EXCEPTION DO (SET MODULE/CALLS; SHOW CALLS)
    
    このコマンドの場合,例外がシグナル通知されるたびにデバッガがブレークします。 このブレークポイントでは,SET MODULE/CALLSコマンドとSHOW CALLSコマンドが実行されます。

  13. DBG> SET BREAK/EVENT=RUN RESERVE, %TASK 3
    
    このコマンドは2つのブレークポイントを設定します。それぞれRESERVEタスクとタスク3( タスクID=3)に関連しています。関連したタスクがRUN状態に移行するたびに, 各ブレークポイントが検出されます。

  14. DBG_1> SET BREAK/ACTIVATING
    
    このコマンドの場合,マルチプロセス・プログラムのプロセスがデバッガの制御下に置かれるたびにデバッガがブレークします。

SET DEFINE

DEFINEコマンドの省略時の修飾子(/ADDRESS,/COMMAND,/PROCESS_ GROUP,または/VALUE)を設定します。

フォーマット

    SET DEFINE   define-default

パラメータ

define-default

DEFINEコマンドに設定する省略時の値を指定します。次のいずれかのキーワード( それぞれDEFINEコマンド修飾子に対応しています)を指定できます。

ADDRESS それ以降のDEFINEコマンドはDEFINE /ADDRESSとして扱われる。これは省略時の設定である。
COMMAND それ以降のDEFINEコマンドはDEFINE/COMMAND として扱われる。
PROCESS_GROUP それ以降のDEFINEコマンドはDEFINE/PROCESS_GROUP として扱われる。
VALUE それ以降のDEFINEコマンドはDEFINE/VALUE として扱われる。

説明

SET DEFINEコマンドは,それ以降のDEFINEコマンドの省略時の修飾子を設定します。SET DEFINE コマンドで指定するパラメータは,DEFINEコマンドの修飾子と同じ名前です。 修飾子は,DEFINEコマンドがシンボルをアドレス, コマンド文字列,プロセス・リスト,または値のどれにバインドするかを決定します。

別の修飾子を指定すれば,1つのDEFINEコマンドの実行中に現在のDEFINE コマンドの省略時の設定を上書きできます。現在のDEFINEコマンドの省略時の設定を表示するには,SHOW DEFINE コマンドを使用します。

関連コマンド


DEFINE
DEFINE/PROCESS_GROUP
DELETE
SHOW DEFINE
SHOW SYMBOL/DEFINED

    DBG> SET DEFINE VALUE
    
    SET DEFINE VALUEコマンドは,それ以降のDEFINEコマンドをDEFINE/VALUE として扱うことを指定します。

SET EDITOR

EDITコマンドによって起動するエディタを設定します。

フォーマット

    SET EDITOR   [command-line]

パラメータ

command-line

EDITコマンドを使用したときに,指定したエディタをユーザのシステムで開始するためのコマンド行を指定します。

/CALLABLE_EDT,/CALLABLE_LSEDIT,または/CALLABLE_TPUを使用した場合は, コマンド行を指定する必要はありません。これらの修飾子を使用しない場合は,EDIT コマンドを入力したときにSET EDITORコマンド行で指定したエディタがサブプロセスとして作成されます。

コマンド行に/CALLABLE_LSEDITや/CALLABLE_TPUは指定できますが, /CALLA BLE_EDTは指定できません。

修飾子

/CALLABLE_EDT

EDITコマンドを使用するときにEDTエディタの呼び出し可能なバージョンを起動することを指定します。 コマンド行にこの修飾子を指定することはできません( " EDT" というコマンド行を使用します)。

/CALLABLE_LSEDIT

(VAXのみ) EDITコマンドを使用するときにDECランゲージ・ センシティブ・エディタ(LSEDIT)の呼び出し可能なバージョンを起動することを指定します。 コマンド行も指定すると,コマンド行は呼び出し可能なLSEDIT に渡されます。コマンド行を指定しないと,省略時のコマンド行は"LSEDIT" となります。

/CALLABLE_TPU

EDITコマンドを使用するときにDEC Text Processingユーティリティ(DECTPU) の呼び出し可能なバージョンを起動することを指定します。 コマンド行も指定すると,コマンド行は呼び出し可能なDECTPUに渡されます。 コマンド行を指定しないと,省略時のコマンド行は"TPU"となります。

/START_POSITION
/NOSTART_POSITION (省略時の設定)

EDITコマンドを入力したときに,指定されたコマンド行または省略時のコマンド行に/START_POSITION 修飾子を付けるかどうかを制御します。 現在は,DECTPUとD ECランゲージ・センシティブ・エディタ(TPUまたは/CALLABLE_TPU ,およびLSEDITまたは/CALLABLE_LSEDITとしてそれぞれ指定されます) だけがこの修飾子を指定できます。

/START_POSITION修飾子は,エディタのカーソルの最初の位置に影響を及ぼします。 省略時の設定(/NOSTART_POSITION)では,エディタのカーソルがソース行1 の先頭に置かれます。デバッガのソース表示でどの行が中央にあるか, またEDITコマンドで行番号を指定するかどうかは関係ありません。/START_POSITION を指定すると,カーソルはEDITコマンドで番号で指定した行または現在のソース表示の中央にある行( 行番号を指定しない場合) に置かれます。

説明

SET EDITORコマンドを使用すると,システムにインストールされているエディタを指定できます。 通常,SET EDITORコマンドのパラメータとして指定されたコマンド行は, サブプロセスとして作成され,実行されます。

VAXプロセッサの場合,EDT,LSEDIT,またはDECTPU を使用すると,これらのエディタを効率よく起動できます。また,/CALLABLE_EDT ,/CALLABLE_LSEDIT,または/CALLABLE_TPUを指定すると, それぞれEDT,LSEDIT,またはDECTPUの呼び出し可能なバージョンをEDIT コマンドによって起動できます。LSEDITとDECTPUの場合は,呼び出し可能なエディタが実行するコマンド行も指定できます。

Alphaプロセッサの場合,/CALLABLE_EDTまたは/CALLABLE_TPU は使用できますが,/CALLABLE_LSEDITは使用できません。

関連コマンド


EDIT
(SET,SHOW,CANCEL) SOURCE
SHOW DEFINE

  1. DBG> SET EDITOR '@MAIL$EDIT ""'
    
    このコマンドを指定しておくと,EDITコマンドを入力したときに,コマンド行'@MAIL$EDIT ""' を作成し,その結果MAILで使用するのと同じエディタが開始されます。

  2. DBG> SET EDITOR/CALLABLE_TPU
    
    このコマンドを指定しておくと,EDITコマンドを入力したときに,TPUの省略時のコマンド行で呼び出し可能なDECTPU を開始します。

  3. DBG> SET EDITOR/CALLABLE_TPU TPU/SECTION=MYSECINI.TPU$SECTION
    
    このコマンドを指定しておくと,EDITコマンドを入力したときに,コマンド行TPU/SECTION=MYSECINI.TPU$SECTION で呼び出し可能なDECTPUを開始します。

  4. DBG> SET EDITOR/CALLABLE_EDT/START_POSITION
    
    このコマンドを指定しておくと,EDITコマンドを入力したときに,呼び出し可能なEDT を省略時のコマンド行EDTで開始します。また,このコマンド行には/START_ POSITION 修飾子が付いていますから,編集はデバッガの現在のソース表示の中央にあるソース行から始まります。

SET EVENT_FACILITY

現在のイベント機能を設定します。

イベント機能は,AdaルーチンかSCANルーチンを呼び出すプログラムまたはDECthreads サービスを使用するプログラムで使用できます。

フォーマット

    SET EVENT_FACILITY   facility-name

パラメータ

facility-name

イベント機能を指定します。次のいずれかのfacility-name キーワードを指定できます。

ADA イベント機能をADAに設定すると,(SET, CANCEL) BREAKコマンドと(SET,CANCEL) TRACEコマンドは,汎用の低レベルのタスク・ イベントだけでなくAda固有のイベントも認識できます(Ada イベントは,タスク・イベントと例外イベントから構成されます)。

ただし,イベント機能をADAに設定できるのは,メイン・プログラムがAda で作成されている場合かプログラムがAdaルーチンを呼び出す場合だけです。

THREADS イベント機能をTHREADS に設定すると,(SET,CANCEL) BREAKコマンドと(SET, CANCEL) TRACEコマンドは,汎用の低レベルのタスク・イベントだけでなくDECthreads 固有のイベントも認識できます。DECthreads イベントはすべてタスク(スレッド) ・イベントです。

イベント機能をTHREADSに設定できるのは,共用可能イメージCMA$RTL が現在プログラム・プロセスの一部である場合(そのイメージがSHOW IMAGE表示に並んでいる場合)だけです。

SCAN (VAXのみ)イベント機能をSCANに設定すると,(SET ,CANCEL)BREAKコマンドと(SET,CANCEL) TRACEコマンドがSCAN( パターン照合)イベントを認識します。

イベント機能をSCANに設定できるのは,メイン・プログラムがSCANで作成されている場合か, プログラムがSCANルーチンを呼び出す場合だけです。

説明

現在のイベント機能(ADA,THREADS,またはSCAN)は,SET BREAK /EVENTコマンドとSET TRACE/EVENTコマンドで設定できるイベントポイントを定義します。

イベント機能にリンクされているプログラムを開始すると,デバッガはプログラムの種類に適した方法でイベント機能を自動的に設定します。 たとえば, メイン・プログラムがAda(またはSCAN)で作成されている場合,イベント機能はADA( またはSCAN)に設定されます。

SET EVENT_FACILITYコマンドを指定するとイベント機能を変更できるので, デバッグ・コンテキストを変更できます。これは,複数言語プログラムを使用していて, 現在設定されていないイベント機能に関連したルーチンをデバッグしたい場合に便利です。

VAXプロセッサでは,同じプログラムでAdaタスキング・ サービスとDECthreadsタスキング・ サービスの両方を使用することはできません。すなわち,イベント機能は,ADA からSCANに変換するか,DECthreadsからSCAN に変換するか,またはその逆に変換するしかできません。

現在のイベント機能に関連しているイベント名を表示するには,SHOW EVENT_FA CILITYコマンドを使用します。これらのイベント名は,(SET, CANCEL)BREAK/EVENT コマンドと(SET,CANCEL)TRACE/EVENTコマンドで指定できるキーワードです。

関連コマンド


(SET,CANCEL) BREAK/EVENT
(SET,CANCEL) TRACE/EVENT
SHOW BREAK
SHOW EVENT_FACILITY
SHOW IMAGE
SHOW TASK
SHOW TRACE

    DBG> SET EVENT_FACILITY THREADS
    
    このコマンドは,THREADS (DECthreads)を現在のイベント機能として設定します。

SET IMAGE

1つまたは複数の共用可能イメージのシンボル情報をロードし,現在のイメージを設定します。

フォーマット

    SET IMAGE   [image-name[, . . . ]]

パラメータ

image-name

共用可能イメージを指定します。ワイルドカード文字のアスタリスク(*) は使用できません。代わりに/ALL修飾子を使用してください。/ALL を指定する場合は,イメージ名は指定できません。

修飾子

/ALL

すべての共用可能イメージを設定することを指定します。

説明

SET IMAGEコマンドは指定された1つまたは複数のイメージのデータ構造を作成しますが, 指定されたイメージ内のモジュールは設定しません。

現在のイメージとは現在のデバッグ・コンテキストです。アクセスするのは現在のイメージ内のシンボルです。SET IMAGE コマンドで1つのイメージだけを指定すると, そのイメージが現在のイメージになります。複数のイメージを並べて指定すると, そのリストで最後のイメージが現在のイメージになります。/ALL を指定すると,現在のイメージは変化しません。

SET IMAGEコマンドでイメージを設定する前に,DCLコマンドのLINKに/DEBUG 修飾子または/TRACEBACK修飾子を指定してイメージをリンクしなければなりません。/NOTRACEBACK でリンクするとそのイメージのシンボル情報は使用できません。 また,SET IMAGEコマンドで指定することもできなくなります。

DEFINE/ADDRESSコマンドとDEFINE/VALUEコマンドで作成した定義は,それらを作成したコンテキストのイメージが現在のイメージである場合だけ使用できます。SET IMAGE コマンドを使用して新しく現在のイメージを設定すると, これらの定義は一時的に使用できなくなります。ただし, DEFINE/COMMANDコマンドまたはDEFINE/KEYコマンドで作成した定義はすべてのイメージで使用できます。

関連コマンド


SET MODE [NO]DYNAMIC
(SET,SHOW,CANCEL) MODULE
(SHOW,CANCEL) IMAGE

    DBG> SET IMAGE SHARE1
    DBG> SET MODULE SUBR
    DBG> SET BREAK SUBR
    
    このコマンド列は,共用可能イメージSHARE1のSUBRモジュール内のSUBRルーチンにブレークポイントを設定する方法を示しています。SET IMAGE コマンドはデバッグ・ コンテキストをSHARE1に設定します。SET MODULEコマンドはSUBR モジュールのシンボル・レコードを実行時シンボル・テーブル(RST) にロードします。SET BREAKコマンドはSUBRルーチン内にブレークポイントを設定します。

SET KEY

現在のキーの状態を設定します。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

    SET KEY

修飾子

/LOG (省略時の設定)
/NOLOG

キー状態が設定されていることを示すメッセージを表示するかどうかを制御します。/LOG 修飾子を指定すると,メッセージが表示されます。/NOLOG 修飾子を指定すると,メッセージは表示されません。

/STATE[=state-name]
/NOSTATE (省略時の設定)

現在の状態として設定するキー状態を指定します。GOLDなどの定義済みのキー状態や利用者定義状態を指定できます。 状態名は英数字文字列です。/NOSTATE 修飾子を指定すると現在の状態は変わりません。

説明

このコマンドを使用する前に,キーパッド・モードにしなければなりません(SET MODE KEYPAD) 。キーパッド・モードは省略時の設定です。

省略時の設定では,現在のキー状態はDEFAULT状態です。ファンクション・ キーを定義する場合,DEFINE/KEY/IF_STATEコマンドを使用してキー定義に特定の状態名を割り当てることができます。 キーを押したときにその状態が設定されていないと, その定義は処理されません。SET KEY/STATEコマンドを使用すれば,現在の状態を適切な状態に変更することができます。

状態を変更するキー(DEFINE/KEY/LOCK_STATE/SET_STATEで定義されたキー) を押しても,現在の状態を変更できます。

関連コマンド


DELETE/KEY
DEFINE/KEY
SHOW KEY

    DBG> SET KEY/STATE=PROG3
    
    このコマンドはキー状態をPROG3状態に変更します。これで,このキー状態に関連したキー定義を使用できるようになります。

SET LANGUAGE

現在の言語を設定します。

フォーマット

    SET LANGUAGE   language-name

パラメータ

language-name

言語を指定します。

VAXプロセッサでは,次のいずれかのキーワードを指定できます。

ADA BASIC BLISS C
C_PLUS_PLUS COBOL DIBOL FORTRAN
MACRO PASCAL PLI RPG
SCAN UNKNOWN

Alphaプロセッサでは,次のいずれかのキーワードを指定できます。

ADA AMACRO BASIC BLISS
C C_PLUS_ PLUS COBOL FORTRAN
MACRO MACRO64 PASCAL PLI
UNKNOWN


説明

デバッガを起動すると,メイン・プログラムを含んでいるモジュールを作成した言語が現在の言語になります。 通常,このモジュールはイメージ遷移アドレスを含んでいます。 メイン・プログラムと異なるソース言語で作成されたモジュールをデバッグする場合は,SET LANGUAGE コマンドを使用して言語を変更します。

現在の言語設定により,デバッガ・コマンド内で指定した名前,演算子, 式の解析方法と解釈方法が決まります。さらに,変数の型,配列,およびレコード構文の種類, 整数データの入力と表示の省略時の基数,大文字小文字の区別などの解析方法と解釈方法も決まります。 また,言語設定により, ユーザ・プログラムに関連したデータをデバッガがどのように形式化し表示するかも決まります。

データ入力と表示の省略時の基数はほとんどの言語の場合,10進数です。VAX プロセッサでは,例外はBLISSとMACRO- 32 MACRO-32です。これらの省略時の基数は16進数です。Alphaプロセッサでは, 例外はBLISSとMACRO-32とMACRO-64です。MACRO-32 とMACRO-64です。これらの省略時の基数は16進数です。

コンパイラ生成型を持っていないプログラム記憶位置の省略時の型はロングワード整数です。 これは,32ビットのアプリケーションをデバッグするのに適しています。64 ビットのアドレス空間を利用するアプリケーションをデバッグするには, 省略時の型をクォドワードに変更することをお薦めします。SET TYPE QUADWORD コマンンドを実行してください。

サポートされない言語でコーディングしたプログラムをデバッグするにはSET LANGUAGE UNKNOWN コマンドを使用します。サポートされない言語に対してデバッガの有用性を最大にするために,SET LANGUAGE UNKNOWN は,一部のサポート言語に固有なものを含め大量のデータ形式と演算子をデバッガが受け入れるようにします。

SET LANGUAGE UNKNOWNは,「最も穏やかな」規則を使用しているため,簡単で迅速な予備手段となります。

言語に固有な演算子と構造に関するデバッガ・サポートについての詳しい説明は, ヘルプ・トピックLanguage_Support を参照してください。

関連コマンド


EVALUATE
EXAMINE
DEPOSIT
SET MODE
SET RADIX
SET TYPE
SHOW LANGUAGE

  1. DBG> SET LANGUAGE COBOL
    
    このコマンドは現在の言語としてCOBOLを設定します。

  2. DBG> SET LANGUAGE PASCAL
    
    このコマンドは現在の言語としてPascalを設定します。

SET LOG

SET OUTPUT LOGコマンドを入力したときに,デバッガがログを書き込むログ・ ファイルを指定します。

フォーマット

    SET LOG   file-spec

パラメータ

file-spec

ログ・ファイルのファイル指定を示します。完全なファイル指定を行わないと, デバッガは,欠落しているフィールドの省略時のファイル指定はSYS$DISK:[]DEBUG.LOG であるとみなします。

指定したバージョン番号を持つファイルがすでに存在していると,デバッガは, そのファイルの最後にデバッグ・セッションのログを書き込みます。

説明

SET LOGコマンドはログ・ファイルの名前だけを決定します。すなわち, デバッガは指定されたファイルを作成したり書き込んだりしません。 これを指定するのはSET OUTPUT LOGコマンドです。

SET OUTPUT LOGコマンドだけを入力してSET LOGコマンドを入力しないと, 省略時の設定によってデバッガはSYS$DISK:[]DEBUG.LOGファイルに書き込みます。

あるログ・ファイルにデバッガが書き込んでいるときにSET LOGコマンドで別のログ・ ファイルを指定すると,デバッガはそれまで書き込んでいたファイルをクローズして,SET LOG コマンドで指定したファイルに書き込みを始めます。

関連コマンド


SET OUTPUT LOG
SET OUTPUT SCREEN_LOG
SHOW LOG

  1. DBG> SET LOG CALC
    DBG> SET OUTPUT LOG
    
    この例では,SET LOGコマンドがSYS$DISK:[]CALC.LOGをデバッグのログ・ ファイルとして指定します。SET OUTPUT LOGを指定すると,ユーザの入力とデバッガの出力はそのファイルに書き込まれます。

  2. DBG> SET LOG [CODEPROJ]FEB29.TMP
    DBG> SET OUTPUT LOG
    
    この例では,SET LOGコマンドが[CODEPROJ]FEB29.TMPをログ・ファイルとして指定します。SET OUTPUT LOG コマンドを指定すると,ユーザの入力とデバッガの出力はそのファイルに書き込まれます。

SET MARGINS

ソース行文字の左端位置と右端位置を指定します。この位置はソース行の表示が開始する位置と終了する位置です。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

    SET MARGINS   rm
                 lm:rm
                 lm:
                 :rm

パラメータ

lm

ソース・コードの行の表示を開始するソース行文字位置です(左マージン) 。

rm

ソース・コードの行の表示を終了するソース行文字位置です(右マージン) 。

説明

SET MARGINSコマンドはソース行の表示だけを指定します。EXAMINE コマンドなどによる他のデバッガ出力の表示には影響しません。

SET MARGINSコマンドはソース・コードの表示を制御するのに便利です。 たとえば,大きくインデントされている場合や長い行を右マージンで自動改行する場合などに使用できます。 このような場合,左マージンを設定すればソース・ ディスプレイ内にインデント用のスペースが入らなくなります。 また右マージンの設定値を(省略時の値255から)減らして行を短くし, 自動改行されるのを防ぐことができます。

SET MARGINSコマンドは主に行(非画面)モードのときに便利です。行モードでは,SET MARGINS コマンドはコマンドTYPE,EXAMINE/SOURCE, SEARCH,STEPを実行した結果や,ブレークポイント,トレースポイント, ウォッチポイントが検出された場合のソース行の表示を制御します。

画面モードでは,SET MARGINSコマンドは定義済みディスプレイSRCなどのソース・ ディスプレイのソース行の表示には影響しません。TYPEコマンドやEXAMINE/SOURCE コマンドの出力はソース・ディスプレイに直接出力されるので,SET MARGINS コマンドはこれらの出力には影響しません。SET MARGINSコマンドは,出力またはDOディスプレイ内に示されるソース・コードの表示( たとえば,STEPコマンドを実行したあと)にだけ影響します。 ただし,PF1-PF3を押して画面モードにした場合,このようなソース・コードは表示されません。 このシーケンスはSET MODE SCREENコマンドだけでなくSET STEP NOSOURCE コマンドも実行して冗長なソース・ディスプレイを削除するからです。

省略時には,デバッガがソース行の文字位置1から表示を開始します。これは, ユーザ端末画面では文字位置9に相当します。画面の最初の8文字は行番号用に予約されており,SET MARGINS コマンドでは操作できません。

番号を1つだけ指定すると,デバッガは左マージンを1に,右マージンを指定された数に設定します。

2つの数をコロンで区切って指定すると,デバッガはコロンの左側の数を左マージンに, 右側の数を右マージンに設定します。

数を1つだけ指定してそのあとにコロンを入力すると,デバッガはその数を左マージンに設定し, 右マージンは変更しません。

コロンを入力してそのあとに1つの数を指定すると,デバッガはその数を右マージンに設定し, 左マージンは変更しません。

関連コマンド


SET STEP [NO]SOURCE
SHOW MARGINS

  1. DBG> SHOW MARGINS
    left margin: 1 , right margin: 255
    DBG> TYPE 14
    module FORARRAY
       14:        DIMENSION IARRAY(4:5,5), VECTOR(10), I3D(3,3,4)
    DBG>
    
    この例はソース・コード行の省略時のマージン設定を表示します(1と255) 。

  2. DBG> SET MARGINS 39
    DBG> SHOW MARGINS
    left margin: 1 , right margin: 39
    DBG> TYPE 14
    module FORARRAY
       14:        DIMENSION IARRAY(4:5,5), VECTOR
    DBG>
    
    この例は,右マージンの設定を255から39に変更するとソース・コード行の表示がどうなるかを示します。

  3. DBG> SET MARGINS 10:45
    DBG> SHOW MARGINS
    left margin: 10 , right margin: 45
    DBG> TYPE 14
    module FORARRAY
       14: IMENSION IARRAY(4:5,5), VECTOR(10),
    DBG>
    
    この例は,左右両方のマージンを変更後のソース・コード行の表示を示します。

  4. DBG> SET MARGINS :100
    DBG> SHOW MARGINS
    left margin: 10 , right margin: 100
    DBG>
    
    この例は,左マージン設定はそのままにして右マージン設定だけを変更する方法を示します。

  5. DBG> SET MARGINS 5:
    DBG> SHOW MARGINS
    left margin: 5 , right margin: 100
    DBG>
    
    この例は,右マージン設定はそのままにして左マージン設定だけを変更する方法を示します。

SET MODE

デバッガ・モードを使用可能または使用不可能にします。

フォーマット

    SET MODE   mode[, . . . ]

パラメータ

mode

デバッガ・モードを使用可能にするか使用不可能にするかを指定します。 次のいずれかのキーワードを指定できます。

DYNAMIC 省略時の設定。動的モードを使用可能にします。 動的モードを使用可能にすると,デバッガはプログラム実行中にモジュールとイメージを自動的に設定するので,SET MODULE またはSET IMAGEコマンドを入力する必要がなくなります。特に,デバッガが実行に割り込みをかける( デバッガ・プロンプトが表示される) 場合は,実行が現在中断されているルーチンを含んでいるモジュールとイメージを必ず自動的に設定します。 モジュールまたはイメージがすでに設定されている場合, 動的モードはそのモジュールとイメージには何の影響も与えません。 デバッガはモジュールまたはイメージを自動的に設定するときに情報メッセージを発行します。
NODYNAMIC 動的モードを使用不可能にします。 モジュールまたはイメージが設定されると追加メモリが割り当てられるので, 性能が下がらないよう動的モードを使用不可能にしたくなることがあります(CANCEL MODULE コマンドとCANCEL IMAGEコマンドでモジュールとイメージを取り消すことによってメモリを解放することもできます) 。動的モードを使用不可能にした場合,SET MODULEコマンドとSET IMAGEコマンドで明示的にモジュールとイメージを設定しなければなりません。
G_FLOAT 式で指定した倍精度浮動小数点定数をデバッガがG_FLOAT として解釈することを指定します( プログラム内で宣言された変数の解釈には影響しません) 。
NOG_FLOAT 省略時の設定。 式で指定した倍精度浮動小数点定数をデバッガがD_FLOATとして解釈することを指定します( プログラム内で宣言された変数の解釈には影響しません) 。
INTERRUPT 省略時の設定。マルチプロセス・デバッグ構成の場合(DBG$PROCE SSの値がMULTIPROCESSの場合)に指定できます。プログラム実行が中断しているプロセスがある場合, イメージを実行している別のプロセスにデバッガが割り込み, 入力を促すプロンプトを表示することを指定します。
NOINTERRUPT マルチプロセス・ デバッグ構成の場合(DBG$PROCESSの値がMULT IPROCESSの場合)に指定できます。 プログラム実行が中断しているプロセスがある場合,デバッガが次のアクションを行うことを指定します。

  • 未処理の例外が原因で実行が中断している場合,デバッガはイメージを実行している別のプロセスの実行に割り込んで入力を促すプロンプトを表示します。

  • ブレークポイント,ウォッチポイント,またはSTEPコマンドの完了が原因で実行が中断している場合, デバッガは,イメージを実行している他のプロセス実行を続け, これらのすべてのプロセスの実行が中断するまでプロンプトを表示しません。1 つでも実行されているプロセスがあれば, プロンプトは表示されません。すべてのプロセスの実行が中断すると,Ctrl/C を使用してすべてのプロセスに割り込んでプロンプトを表示します。
KEYPAD


注意
このパラメータは,デバッガへのDECwindows Motif インタフェースでは使用できません。

省略時の設定。キーパッド・モードを使用可能にします。キーパッド・モードを使用可能にすると, 数値キーパッドのキーを使用して定義済みの機能を実行できます。 デバッガ・コマンド(画面モードで便利なもの)の中にはキーパッド・ キーにバインドされているものもあります。(ヘルプ・ トピックKeypad_Definitions_CIを参照してください。また,現在のキー定義を調べるにはSHOW KEY コマンドを使用してください。) DEFINE/KEY コマンドを使用してキー機能を再定義することもできます。

NOKEYPAD


注意
このパラメータは,デバッガへのDECwindows Motif インタフェースでは使用できません。

キーパッド・モードを使用不可能にします。使用不可能にすると,数値キーパッドのキーは定義済み機能を果たさなくなります。 また,DEFINE /KEYコマンドを使用してデバッガ機能をキーに割り当てることもできなくなります。

LINE 省略時の設定。 可能ならば,プログラム記憶位置を行番号で表示することを指定します。
NOLINE デバッガが, プログラム記憶位置を行番号ではなく,routine-name + byte-offsetで表示することを指定します。
OPERANDS[=keyword] (VAXのみ) 命令を調べるためにEXAMINEコマンドを使用したとき,命令,オペランド, オペランドのアドレス,オペランドの内容を表示するように指定します。 オペランドがレジスタでない場合に表示する情報のレベルはBRIEF キーワードとFULLキーワードのどちらを使用するかで異なります。 省略時の設定はOPERANDS=BRIEFです。
NOOPERANDS (VAXのみ。省略時の設定。)命令を調べるためにEXAMINE コマンドを使用したときに,命令とオペランドを表示するように指定します。
SCREEN


注意
このパラメータは,デバッガへのDECwindows Motif インタフェースでは使用できません。

画面モードを使用可能にします。画面モードを使用可能にすると,端末の画面を長方形の領域に分割して, 各領域にそれぞれ別のデータを表示することができます。 画面モードでは,省略時の設定(行単位の非画面モード) より多くの情報をもっと都合よく表示できます。また,定義済みのディスプレイを使用することも, 自分で定義することもできます。

NOSCREEN


注意
このパラメータは,デバッガへのDECwindows Motif インタフェースでは使用できません。

省略時の設定。画面モードを使用不可能にします。

SCROLL


注意
このパラメータは,デバッガへのDECwindows Motif インタフェースでは使用できません。

省略時の設定。スクロール・モードを使用可能にします。スクロール・ モードを使用可能にすると,画面モード出力やDOディスプレイは, 生成されるたびに行ごとにスクロールすることによって更新されます。

NOSCROLL


注意
このパラメータは,デバッガへのDECwindows Motif インタフェースでは使用できません。

スクロール・モードを使用不可能にします。スクロール・モードを使用不可能にすると, 画面モード出力やDOディスプレイは,コマンド1つにつき1 回だけ更新されます(出力が生成されるたびに1行ずつ更新されるわけではありません) 。スクロール・モードを使用不可能にすると,発生する画面更新回数が少なくなり, 処理速度が遅い端末では便利です。

SEPARATE (VWSを実行するワークステーションにだけ適用します。) デバッガの入出力用に別ウィンドウを作成することを指定します。 画面用プログラムでは,プログラムの入出力を含めすべてのデバッガの表示がウィンドウ内で移動させられてしまうので, この機能を使用すると便利です。別ウィンドウは高さ24行, 幅80桁で,VTシリーズの端末画面をエミュレートします。
NOSEPARATE (省略時の設定。VWSを実行するワークステーションだけに適用します。) デバッガの入出力用に別ウィンドウを作成しないことを指定します。
SYMBOLIC 省略時の設定。シンボリック・モードを使用可能にします。 シンボリック・モードを使用可能にすると,(可能ならば) アドレス式で示した記憶位置をシンボルで表示し,(可能ならば) 命令オペランドをシンボルで表示します。EXAMINE/NOSYMBOLICを指定すると,EXAMINE コマンドの実行中,SET MODE SYMBOLICを上書きできます。
NOSYMBOLIC シンボリック・ モードを使用不可能にします。シンボリック・モードを使用不可能にすると, デバッガは数値アドレスをシンボル化しません(デバッガは数字を名前に変換しません) 。これは,シンボリック名ではなく数値アドレスを表示するときに便利です( これらのアドレスに対応するシンボリック名が存在する場合) 。シンボリック・モードを使用不可能にするとデバッガは数値から名前に変換する必要がないので, コマンド処理はいくらか速くなります。EXAMINE/SYMBOLIC を使用すると,EXAMINEコマンドの実行中,SET MODE NOSYMBOLIC を上書きできます。

説明

SET MODEコマンドについて詳しくは,パラメータの説明を参照してください。 これらのモードの省略時の値はどの言語の場合も同じです。

関連コマンド


EVALUATE
EXAMINE
DEFINE/KEY
DEPOSIT
DISPLAY
(SET,SHOW,CANCEL) IMAGE
(SET,SHOW,CANCEL) MODULE
SET PROMPT
(SET,SHOW,CANCEL) RADIX
(SET,SHOW) TYPE
(SHOW,CANCEL) MODE
SYMBOLIZE

    DBG> SET MODE SCREEN
    
    このコマンドはデバッガを画面モードにします。

SET MODULE

現在のイメージ内のモジュールのシンボル・レコードをそのイメージの実行時シンボル・ テーブル(RST)にロードします。


注意
現在のイメージはメイン・イメージ( 省略時の設定)か,またはSET IMAGEコマンドで現在のイメージとして設定されたイメージのどちらかです。

フォーマット

    SET MODULE   [module-name[, . . . ]]

パラメータ

module-name

シンボル・レコードをRSTにロードする現在のイメージのモジュールを指定します。 ワイルドカード文字のアスタリスク(*)は使用できません。 代わりに/ALL修飾子を使用してください。/ALLまたは/CALLSを指定する場合は, モジュール名は指定できません。

修飾子

/ALL

現在のイメージ内のすべてのモジュールのシンボル・レコードをRST にロードすることを指定します。

/CALLS

呼び出しスタック上に現在ルーチンを持っているすべてのモジュールを設定します。 モジュールがすでに設定されている場合,/CALLSはそのモジュールに何の影響も与えません。

/RELATED (省略時の設定)
/NORELATED

(Adaプログラムに適用される。)指定されたモジュールにWITH 句またはサブユニット関係によって関連づけられたモジュールのシンボル・ レコードをRSTにロードするかどうかを制御します。ロードをすると,Adaプログラムのソース・ コード内で参照したのと全く同じデバッガ・コマンド内の関連するモジュールで宣言されている名前を参照できます。

説明

プログラム内で宣言したシンボルをデバッガが認識し正しく解釈するには, シンボル・レコードがRST内に存在しなければなりません。モジュールのシンボル・ レコードをRSTにロードするプロセスは,モジュールの設定 といいます。

デバッガは,その起動時に遷移アドレスを含んでいるモジュール(メイン・ プログラム)を設定します。省略時の設定では,動的モードが使用可能です(SET MODE DYNAMIC) 。このため,デバッガはプログラムが実行するときにモジュール( およびイメージ)を自動的に設定して,あとで必要なときにシンボルを参照できるようにします。 特に,実行が中断している場合は必ず, 実行を中断しているルーチンを含んでいるモジュールとイメージをデバッガは設定します。Ada プログラムの場合は,モジュールが動的に設定されると, 省略時には関係するモジュールも自動的に設定され,正しいシンボルにアクセスできるよう( 可視状態)にします。

動的モードは,参照する必要のあるシンボルのほとんどにアクセスできるようにします。 まだ設定されていないモジュール内のシンボルを参照しなければならないときは, 次のようにします。

動的モードが使用不可能にしてあるとき(SET MODE NODYNAMIC)には,遷移アドレスを含んでいるモジュールだけが自動的に設定されます。 それ以外のモジュールは明示的に設定しなければなりません。

SET IMAGEコマンドを使用して新しいイメージを設定する場合,すでに設定されているモジュールはすべて設定されたままです。 ただし,アクセスできるのは, 現在のイメージで設定されているモジュール内のシンボルだけです。 他のイメージで設定されているモジュール内のシンボルに一時的にアクセスすることはできません。

動的モードが使用可能な場合,RSTの増加するサイズに対応できるように, メモリは自動的に割り当てられます。動的モードが使用不可能な場合, ユーザがモジュールまたはイメージを設定したために必要になった余分なメモリをデバッガが自動的に割り当てます。 動的モードが使用可能な場合も使用不可能な場合も, 設定するモジュール数が増えて性能に問題が生じたらCANCEL MODULE コマンドを使用して設定モジュール数を削減してください。

SET SCOPEコマンド内のパラメータがまだ設定されていないモジュール内のプログラム記憶位置を指定すると,SET SCOPE コマンドがそのモジュールを設定します。

Adaプログラムに固有な情報については,ヘルプ・トピックLanguage_Support Ada を参照してください。

関連コマンド


(SET,SHOW,CANCEL) IMAGE
SET MODE [NO]DYNAMIC
(SHOW,CANCEL) MODULE

  1. DBG> SET MODULE SUB1
    
    このコマンドはSUB1モジュールを設定します(SUB1モジュールのシンボル・ レコードをRSTにロードします)。

  2. DBG> SET IMAGE SHARE3
    DBG> SET MODULE MATH
    DBG> SET BREAK %LINE 31
    
    この例では,SET IMAGEコマンドが共用可能イメージSHARE3を現在のイメージにします。SET MODULE コマンドはSHARE3イメージ内のMATHモジュールを設定します。SET BREAK コマンドはMATHモジュールの行31にブレークポイントを設定します。

  3. DBG> SHOW MODULE/SHARE
    module name           symbols   language   size
    
    FOO                   yes       MACRO       432
    MAIN                  no        FORTRAN     280
         . . .
    SHARE$DEBUG           no        Image         0
    SHARE$LIBRTL          no        Image         0
    SHARE$MTHRTL          no        Image         0
    SHARE$SHARE1          no        Image         0
    SHARE$SHARE2          no        Image         0
    
    total modules: 17.              bytes allocated: 162280.
    DBG> SET MODULE SHARE$SHARE2
    DBG> SHOW SYMBOL * IN SHARE$SHARE2
    
    この例では,SHOW MODULE/SHAREコマンドが,現在のイメージとすべての共用可能イメージ( 共用可能イメージの名前の前には"SHARE$"が付きます) 内のすべてのモジュールを表示します。SET MODULE SHARE$SHARE2コマンドは共用可能イメージ・ モジュールSHARE$SHARE2を設定します。SHOW SYMBOLコマンドは共用可能イメージSHARE2内で定義された任意のユニバーサル・ シンボルを表示します。詳しい説明は SHOW MODULE/SHAREコマンドを参照してください。

SET OUTPUT

デバッガ出力オプションを使用可能または使用不可能にします。

フォーマット

    SET OUTPUT   output-option[, . . . ]

パラメータ

output-option

出力オプションを使用可能にするか使用不可能にするかを指定します。 次のいずれかのキーワードを指定できます。

LOG デバッガの入力と出力をログ・ファイルに記録することを指定します。SET LOG コマンドでログ・ファイルを指定すると, デバッガはそのファイルに書き込みます。指定しない場合には, 省略時の設定により,デバッガはSYS$DI SK[]:DEBU G.LOGに書き込みます。
NOLOG 省略時の設定。 デバッガの入力と出力をログ・ファイルに記録しないことを指定します。
SCREEN_LOG 画面モードの場合, 画面が更新されたときに画面の内容をログ・ファイルに記録することを指定します。 画面の内容を記録するには,SET OUTPUT LOGも指定しなければなりません。 ログ・ファイルの指定についてはLOGオプションの説明を参照してください。
NOSCREEN_ LOG 省略時の設定。画面モードの場合に,画面の内容をログ・ ファイルに記録しないことを指定します。
TERMINAL


注意
このパラメータは,デバッガへのDECwindows Motif インタフェースでは使用できません。

省略時の設定。デバッガ出力を端末に表示することを指定します。

NOTERMINAL


注意
このパラメータは,デバッガへのDECwindows Motif インタフェースでは使用できません。

デバッガ出力を診断メッセージを除いて端末に表示しないことを指定します。

VERIFY コマンド・プロシージャまたはDO 句から実行している各入力コマンド文字列を現在の出力装置へエコーバックすることを指定します。 現在の出力装置は省略時の設定ではSYS$OUTPUT ( ユーザの端末)ですが,論理名DBG$OUTPUTによって再定義できます。
NOVERIFY 省略時の設定。コマンド・プロシージャまたはDO句から実行している各入力コマンド文字列をデバッガが表示しないように指定します。

説明

デバッガ出力オプションは,コマンドへのデバッガの応答を表示し記録する方法を制御します。SET OUTPUT コマンドについて詳しくは,パラメータの説明を参照してください。

関連コマンド


@ (実行プロシージャ)
(SET,SHOW) ATSIGN
(SET,SHOW) LOG
SET MODE SCREEN
SHOW OUTPUT

    DBG> SET OUTPUT VERIFY,LOG,NOTERMINAL
    
    このコマンドはデバッガが次のいずれかのアクションをとることを指定します。

SET PROCESS

可視プロセスの設定,1つまたは複数のプロセスの属性の変更,または動的プロセスの設定の許可/禁止を行います。

マルチプロセス・デバッグ構成の場合(DBG$PROCESSの値がMULTIPROCESSの場合) に指定できます。

フォーマット

    SET PROCESS   [process-spec[, . . . ]]

パラメータ

process-spec

現在デバッガの制御下にあるプロセスを指定します。次のいずれかの形式で指定します。

[%PROCESS_NAME] proc-name スペースや小文字を全く含まないプロセス名。 プロセス名にはワイルドカード文字のアスタリク(*) を含むこともできます。
[%PROCESS_NAME] "proc-name" スペースや小文字を含むプロセス名。二重引用符( ")の代わりに一重引用符(') を使用することもできます。
%PROCESS_PID proc-id プロセス識別子(PID, 16 進数)。
%PROCESS_NUMBER proc-number (または%PROC proc-number) デバッガの制御下に入ったときにプロセスに割り当てられた番号。 プロセス番号はSHOW PROCESS コマンドの実行で表示されます。
proc-group-name DEFINE/PROCESS_GROUP コマンドで定義されたプロセスのグループを表すシンボル。再帰的なシンボル定義は指定してはなりません。
%NEXT_ PROCESS デバッガの循環プロセス・リスト中で可視プロセスの次のプロセス。
%PREVIOUS_ PROCESS デバッガの循環プロセス・リスト中での可視プロセスの前のプロセス。
%VISIBLE_ PROCESS シンボル,レジスタ値,ルーチン呼び出し, ブレークポイントなどの検索時に現在のコンテキストになっている呼び出しスタック, レジスタ・セット,およびイメージを持つプロセス。

すべてのプロセスを指定するためにワイルドカード文字のアスタリスク(*) または/ALL修飾子を使用することもできます。/ALLまたは/[NO]DYNAMIC を指定する場合,プロセスは指定できません。プロセスを指定しないか, または/ALLを/[NO]HOLDとともに指定しないと,可視プロセスが選択されます。

修飾子

/ALL

すべてのプロセスにSET PROCESSコマンドを指定できます。

/DYNAMIC (省略時の設定)
/NODYNAMIC

動的プロセス設定を許可するか禁止するかを制御します。 動的プロセス設定を許可する(/DYNAMIC) と,デバッガが実行を中断しそれに対するプロンプトを表示するたびに, 実行が中断されたプロセスが自動的に可視プロセスになります。 動的プロセス設定を禁止する(/NODYNAMIC)と可視プロセスはそのままで, 別のプロセスをSET PROCESS/VISIBLEコマンドで指定するまで変わりません。

/HOLD
/NOHOLD (省略時の設定)

/HOLDは,指定されたプロセスを凍結状態にします。この結果, プロセスが可視プロセスである場合を除いて,コマンドGO,STEP,またはCALL を入力してもそのプロセス内のイメージは実行されません。可視プロセスの場合, 凍結状態にあってもイメージは実行されます。

/NOHOLD修飾子は,指定されたプロセスを凍結状態から解放します。この結果, コマンドGO,STEP,またはCALLを入力すると,どのプロセスが可視プロセスであるかどうかに関係なく, 指定されたプロセス内のイメージを実行できます。

この動作は,DOコマンドを使用して特定のプロセスにコマンドGO,STEP, またはCALLをブロードキャストしても指定できます。

コマンドGO,STEP,CALL,EXIT,QUITの凍結状態にあるプロセスとそうでないプロセスに対する影響については, 各コマンドの説明を参照してください。

/VISIBLE

指定されたプロセスを可視プロセスにします。この結果, デバッグ・ コンテキストは指定されたプロセスに切り換えられ,シンボルの検索やブレークポイントの設定などはそのプロセスのコンテキスト内で実行されます。/VISIBLE を使用する場合は,プロセスを1つだけ指定しなければなりません。

説明

SET PROCESSコマンドは,可視プロセスの設定や,1つまたは複数のプロセスの属性の変更を行います。

省略時の設定では,コマンドは可視プロセスのコンテキストで実行されます。( 現在コンテキストをデバッグ中であるプロセス)。シンボルの検索やブレークポイントの設定などは, 可視プロセスのコンテキスト内で実行されます。

DOコマンドを使用すると,コマンドを特定のプロセスのコンテキスト内だけで実行したりすべてのプロセスのコンテキスト内で実行したりできます。DO コマンドは,指定されたプロセス(DOコマンドでプロセスを指定しない場合はすべてのプロセス) ごとにSET PROCESS/VISIBLEコマンドを指定し, さらに指定されたコマンドを入力するのと同じ効果を持っています。

省略時の設定では,動的プロセス設定が許可され,/[NO]DYNAMICで制御されます。 また,動的プロセス設定を許可すると,デバッガがプログラムの実行を中断し, それに対するプロンプトを表示するたびに,実行が中断されたプロセスが自動的に可視プロセスになります。

関連コマンド


CALL
DO
EXIT
GO
QUIT
SHOW PROCESS
STEP

  1. DBG_1> SET PROCESS/HOLD/ALL
    DBG_1> SHOW PROCESS/ALL
     Number  Name    Hold  State        Current PC
    *    1 TEST_X    YES   step         PROG\%LINE 50
         2 TEST_Y    YES   break        PROG\%LINE 71
    DBG_1>
    
    このSET PROCESS/HOLD/ALLコマンドはすべてのプロセスを凍結状態にします。 これは,SHOW PROCESS/ALL表示で確認されます。

  2. DBG_1> SET PROCESS/NOHOLD %VISIBLE_PROCESS
    DBG_1> SHOW PROCESS/ALL
     Number  Name    Hold  State     Current PC
    *    1 TEST_X          step      PROG\%LINE 50
         2 TEST_Y    YES   break     PROG\%LINE 71
    DBG_1>
    
    このSET PROCESS/NOHOLD %VISIBLE_PROCESSコマンドは,可視プロセスを凍結状態から解放します。 これはSHOW PROCESS/ALL表示で確認されます。

  3. DBG_1> SET PROCESS TEST_Y
    DBG_2> SHOW PROCESS
     Number   Name   Hold  State     Current PC
    *    2 TEST_Y    YES   break     PROG\%LINE 71
    DBG_2>
    
    このSET PROCESS TEST_Yコマンドは,TEST_Yプロセスを可視プロセスにします。 省略時の設定により,SHOW PROCESSコマンドは可視プロセスに関する情報を表示します。

  4. DBG_1> SET PROCESS/HOLD/ALL
    DBG_1> DO (EXAMINE X; STEP)
    For %PROCESS_NUMBER 1
      MAIN_PROG\X:    78
    For %PROCESS_NUMBER 2
      TEST\X:    29
    stepped to MAIN_PROG\%LINE 26 in %PROCESS_NUMBER 1
    26:     K = K + 1
    DBG_1>
    
    この例では,SET PROCESS/HOLD/ALLコマンドがすべてのプロセスを凍結状態にします。DO コマンドがすべてのプロセス(この例ではプロセス1とプロセス2) にEXAMINE XコマンドとSTEPコマンドをブロードキャストします。 可視プロセスでは凍結状態は無視されるので,STEPコマンドはプロセス1 のコンテキスト内で実行されます。プロセス2は凍結状態にあるため,このプロセスではSTEP コマンドは実行されません。

SET PROMPT

デバッガ・プロンプト文字列をユーザが指定するものに変更します。

フォーマット

    SET PROMPT   [prompt-parameter]

パラメータ

prompt-parameter

新しいプロンプト文字列を指定します。文字列にスペース,セミコロン(;) ,または小文字が含まれる場合,それを二重引用符(")または一重引用符( ') で囲まなければなりません。文字列を指定しないと,現在のプロンプト文字列のままです。

マルチプロセス・デバッグ構成ではない場合(論理名DBG$PROCESSが定義されていないまたは値がDEFAULT の場合),省略時の設定では,プロンプト文字列はDBG> です。

マルチプロセス・デバッグ構成の場合(DBG$PROCESSの値がMULTIPROCESSの場合) ,省略時の設定では,プロンプト文字列がプロセスに依存しない接頭辞(prompt-parameter によって指定されます)とプロセス固有の接尾辞(/[NO]SUFFIX によって指定されます)から構成されます。接尾辞は,可視プロセスが変わると自動的に変わります。

修飾子

/SUFFIX[=process-identifier-type] (省略時の設定)
/NOSUFFIX

マルチプロセス・デバッグ構成の場合(DBG$PROCESSの値がMULTIPROCESS の場合)に指定できます。

/SUFFIX修飾子を指定すると"動的プロンプト設定"が許可されます。したがって, プロンプト文字列には,自動的に可視プロセスを示すプロセス固有の接尾辞が付きます。/SUFFIX は省略時の設定です。

/NOSUFFIX修飾子は動的プロンプト設定を禁止します。したがって,プロンプト文字列にはプロセス固有の接尾辞が付かず, 他のプロセスが可視プロセスになっても変わりません。

省略時の設定では,デバッガを起動してマルチプロセス・プログラムをデバッグする場合, プロンプト文字列はDBG_1>です。これは,動的プロンプト設定が許可され, 可視プロセスがプロセス1(デバッガに接続された最初のプロセス) であることを意味しています。プロンプト文字列のプロセス固有の接尾辞は, 次のいずれかのprocess-identifier-typeキーワードとともに/SUFFIX 修飾子を指定すれば制御できます。

PROCESS_NAME ディスプレイ名の後ろにプロセス名が付きます。
PROCESS_ NUMBER ディスプレイ名の後ろにプロセス番号(SHOW PROCESSコマンドの実行で表示される番号)が付きます。
PROCESS_PID ディスプレイ名の後ろにプロセス識別子(PID) が付きます。

次の表に,マルチプロセス・デバッグ構成の場合に使用できるプロンプト文字列を示します。 プロンプト文字列全体は,prompt-parameterコマンド・ パラメータ(プロセスに依存しない接頭辞を制御します), /[NO]SUFFIXの値,およびprocess-identifier-typeキーワード(プロセス固有の接尾辞を制御します) によって決まります。

プロンプト・
パラメータ(接頭辞)
修飾子とキーワード(接尾辞) その結果作成される
プロンプト文字列
なし なし 変更されない
なし /NOSUFFIX DBG>
なし /SUFFIX DBG_proc-number> [1]
なし /SUFFIX=PROCESS_NAME proc-name>
なし /SUFFIX=PROCESS_NUMBER proc- number>
なし /SUFFIX=PROCESS_PID pid>
XYZ_ /NOSUFFIX XYZ_ >
XYZ_ /SUFFIX XYZ_proc-number>
XYZ_ /SUFFIX=PROCESS_NAME XYZ_ proc-name>
XYZ_ /SUFFIX=PROCESS_NUMBER XYZ_proc- number>
XYZ_ /SUFFIX=PROCESS_PID XYZ_pid>

[1]マルチプロセス・デバッグ構成の場合の省略時のプロンプトはDBG_ process-number>です。これは,次のコマンドを入力するのと同じことです。

DBG> SET PROMPT/SUFFIX=PROCESS_NUMBER"DBG_"

/POP
/NOPOP (省略時の設定)

(VWSを実行するワークステーションにのみ適用されます。) /POP修飾子を使用すると,デバッガが入力を促すプロンプトを表示したときにデバッガ・ ウィンドウは他のウィンドウより上にポップアップし,キーボードに接続されます。/NOPOP 修飾子はこの動作を禁止します。デバッガ・ウィンドウは他のウィンドウにポップアップされず, デバッガが入力を促すプロンプトを表示してもキーボードには自動的に接続されません。

説明

SET PROMPTコマンドを使用すると,デバッガのプロンプト文字列をユーザが指定するものに変更できます。

マルチプロセス・デバッグ構成を使用している場合(論理名DBG$PROCESSの値がMULTIPROCESS の場合),/[NO]SUFFIXを指定すると,プロンプト文字列のプロセス固有の接尾辞を指定できます。

ワークステーションでデバッガを使用している場合,/[NO]POPを指定すると, デバッガが入力を促すプロンプトを表示したときにデバッガ・ウィンドウを他のウィンドウより上にポップアップするかどうかを制御します。

関連コマンド


(SET,SHOW) PROCESS

  1. DBG> SET PROMPT "$ "
    $ SET PROMPT "d b g : "
    d b g : SET PROMPT "DBG> "
    DBG>
    
    この例では,SET PROMPTコマンドを連続して実行した結果,デバッガのプロンプトが"DBG>" から"$"へ,次に"d b g :"へ変わったあとに,さらに"DBG>" へ戻ります。

  2. DBG_1> SET PROMPT/NOSUFFIX "dbg> "
    dbg> SET PROMPT/SUFFIX
    DBG_1> SET PROMPT/SUFFIX=PROCESS_NUMBER "xyz_"
    xyz_1> SET PROMPT/SUFFIX=PROCESS_NAME
    SMITH> SET PROMPT/SUFFIX=PROCESS_NAME "John "
    John SMITH> SET PROMPT/SUFFIX=PROCESS_PID
    20800E4D>
    
    この例では,SET PROMPTコマンドを連続して実行した場合の,マルチプロセス・ プログラムに対する/[NO]SUFFIXとprompt-parameterの影響を示します。

SET RADIX

整数データを入力するときと表示するときの基数を設定します。 /OVERRIDEとともに指定すると,すべてのデータが,指定された基数の整数データとして表示されます。

フォーマット

    SET RADIX   radix

パラメータ

radix

設定する基数を指定します。次のいずれかのキーワードを指定できます。

BINARY 基数を2進数に設定する。
DECIMAL 基数を10進数に設定する。これは,BLISS ,MACRO-32 MACRO-32,およびMACRO-64 MACRO-64 (Alphaのみ) を除くすべての言語における省略時の設定である。
DEFAULT 基数を言語の省略時の設定にする。
OCTAL 基数を8進数に設定する。
HEXADECIMAL 省略時の基数を16 進数に設定する。これは,BLISS,MACRO-32 MACRO-32,およびMACRO-64 MACRO-64 (Alpha のみ)の省略時の設定である。

修飾子

/INPUT

入力基数(整数データを入力するときの基数)だけを,指定された基数に設定します。

/OUTPUT

出力基数(整数データを表示するときの基数)だけを,指定された基数に設定します。

/OVERRIDE

すべてのデータを指定された基数の整数データとして表示します。

説明

現在の基数設定は,デバッガが次の状況で整数データを解釈し,表示する方法に影響を与えます。

データの入力と表示の省略時の基数はほとんどの言語の場合どちらも10進数です。VAX プロセッサでは,例外はBLISSとMACRO-32 MACRO-32 です。これらの言語の省略時の基数は16進数です。Alphaプロセッサでは, 例外はBLISSとMACRO-32とMACRO-64 です。MACRO-32とMACRO-64です。これらの言語の省略時の基数は16 進数です。

SET RADIXコマンドを使用して,データの入力または表示の新しい基数(入力基数と出力基数それぞれ) を指定できます。

修飾子を指定しないと,SET RADIXコマンドは入力基数と出力基数の両方を変更します。/INPUT または/OUTPUTを指定すると,このコマンドは,それぞれ入力基数または出力基数を変更します。

SET RADIX/OVERRIDEを使用すると,変更されるのは出力基数だけですが, すべてのデータ(整数型のデータだけでなく)が,指定された基数の整数データとして表示されます。

SET RADIXコマンドは,/OVERRIDEとともに使用する以外は,非整数型の値( 実数型の値や列挙型の値など)の解釈や表示には影響しません。

コマンドEVALUATE,EXAMINE,DEPOSITには,基数修飾子(/BINARY, /HEXADECIMALなど)があります。これらを指定すると,そのコマンドの実行中はSET RADIX またはSET RADIX/OVERRIDEで設定した基数を上書きできます。

また,組み込みシンボル%BIN,%DEC,%HEX,%OCTをアドレス式と言語式で使用すると, 整数リテラルを2進数,10進数,16進数または8進数の基数で解釈するように指定できます。 ヘルプ・トピックBuilt_in_Symbolsを参照してください。

関連コマンド


DEPOSIT
EVALUATE
EXAMINE
(SET,SHOW,CANCEL) MODE
(SHOW,CANCEL) RADIX

  1. DBG> SET RADIX HEX
    
    このコマンドは,基数を16進数に設定します。これは,省略時の設定では, 整数データが16進数の基数で解釈され表示されることを意味しています。

  2. DBG> SET RADIX/INPUT OCT
    
    このコマンドは,入力基数を8進数に設定します。これは,省略時の設定では, 入力された整数データは8進数の基数で解釈されることを意味しています。

  3. DBG> SET RADIX/OUTPUT BIN
    
    このコマンドは,出力基数を2進数に設定します。これは,省略時の設定では, 整数データが2進数の基数で表示されることを意味しています。

  4. DBG> SET RADIX/OVERRIDE DECIMAL
    
    このコマンドは,上書き基数を10進数に設定します。これは,省略時の設定では, すべてのデータ(整数型のデータに限らず)が10進整数データとして表示されることを意味しています。

SET SCOPE

パス名接頭識別子を指定しない場合に,デバッガがシンボル(変数名,ルーチン, 行番号など)を検索する方法を設定します。

フォーマット

    SET SCOPE   location[, . . . ]

パラメータ

location

パス名接頭識別子を使用しないで指定したシンボルを解釈するときに使用するプログラム領域( 有効範囲)を示します。/CURRENTまたは/MODULE を指定しない場合,記憶位置は次のいずれかを指定できます。

path-name prefix パス名接頭識別子で示される有効範囲を指定します。 パス名接頭識別子は, 1つまたは複数のネストしているプログラムの要素(モジュール,ルーチン, ブロックなど)の名前で構成されます。これらの名前はバックスラッシュ(\) で区切られています。パス名接頭識別子が2つ以上の名前で構成される場合,(\) の左にはネスト要素を入れ,右にはネストされた要素を入れます。 共通パス名接頭識別子の形式は, module(\)routine( \)block(\)です。

モジュール名だけを指定し,その名前がルーチン名と同じである場合は,/MODULE を使用します。そうしないと,そのルーチンを指定しているものとデバッガがみなします。

n 呼び出しスタックのnレベル下にあるルーチンによって示される有効範囲を指定します( nは10進整数です)。整数によって指定される有効範囲は, プログラムの実行に伴い動的に変化します。値 0は,現在実行中のルーチンを示し, 値1は,そのルーチンを呼び出す側を示すというように呼び出しスタックを下っていきます。 省略時の有効範囲検索リストは, 0,1,2, . . . ,nです。ここでnは呼び出しスタック内の呼び出し数です。
\ (バックスラッシュ) グローバルな有効範囲-すなわち,グローバル・ シンボルの存在が認識されているすべてのプログラム記憶位置の集合を指定します。 グローバル・シンボルの定義と宣言方法は,言語によって異なります。

記憶位置パラメータを2個以上指定すると,有効範囲検索リストが設定されます。 デバッガは最初のパラメータを使用してシンボルを解釈できないと, 次のパラメータを使用し,正しくシンボルを解釈するか指定されたパラメータがなくなるまで, リストに並んでいる順にパラメータを使用します。

修飾子

/CURRENT

省略時の検索リストに似た有効範囲検索リスト( 0,1,2, . . . ,n)を設定します。ただし,コマンド・パラメータとして指定された数値の有効範囲で開始します。 有効範囲0はPC有効範囲であり, nは,呼び出しスタック内の呼び出し数です。

SET SCOPE/CURRENTを使用する場合,次の規則と動作に注意してください。

/MODULE

コマンド・パラメータとして指定された名前がモジュール名であり, ルーチン名ではないことを指定します。モジュール名をコマンド・パラメータとして指定し, そのモジュール名がルーチン名と同じであることを指定する場合は,/MODULE を使用しなければなりません。

説明

省略時の設定では,デバッガは,有効範囲検索リスト0,1,2, . . . , nに従い,パス名接頭識別子が指定されていないシンボルを検索します。 nは,呼び出しスタック内に存在する呼び出し数です。 この有効範囲検索リストは,現在のPC値に基づいており, プログラムの実行に伴い動的に変化します。省略時の有効範囲検索リストは次のように指定します。 すなわち,EXAMINE Xなどのシンボル検索は最初に, 現在実行中のルーチン(有効範囲0すなわちPC有効範囲ともいいます) でXを検索し,そこでXが見つからなければ,そのルーチンを呼び出す側( 有効範囲1)で検索するというように呼び出しスタックのレベルを下げていくことを指定します。 有効範囲n内でXが見つからなければ, 実行時シンボル・テーブル(RST)の残り,すなわちすべての設定されたモジュールとグローバル・ シンボル・テーブル(GST)を検索します。

ほとんどの場合は,この省略時の有効範囲検索リストを使用すれば,言語規則に準拠した自然な方法であいまいさを解消できます。 ただし,何回実行しても定義されているシンボルにアクセスできないときは, 次のいずれかの方法を使用します。

SET SCOPEコマンドは,シンボルを指定するたびにパス名を使用しなければならない場合に便利です。

省略時の有効範囲検索リストを復元するには,CANCEL SCOPEコマンドを使用します。

省略時の有効範囲検索リストが有効であれば,SET SCOPE/CURRENTコマンドを使用して, シンボル検索を有効範囲0以外の数値(呼び出しスタックから数えた数値) の有効範囲(たとえば,有効範囲2)で開始することを指定できます。

SET SCOPEコマンドを使用し,/CURRENTを指定しないと,デバッガは明示的に指定したプログラム記憶位置だけを検索します。 また,SET SCOPEコマンドで設定した有効範囲または有効範囲検索リストは, 省略時の有効範囲検索リストを復元するか新たにSET SCOPE コマンドを指定するまで有効です。 ただし,/CURRENTを指定すれば,プログラムの実行が再開されるたびに省略時の有効範囲検索リストが復元されます。

SET SCOPEコマンドは,/CURRENTが指定されたときだけ画面モード・ソース・ ディスプレイまたは機械語命令ディスプレイを更新します。

SET SCOPEコマンドで指定した名前がモジュールとルーチンの両方の名前である場合, デバッガは有効範囲をルーチンに設定します。このような場合は,SET SCOPE/MODULE コマンドを使用すれば,有効範囲をモジュールに設定できます。

SET SCOPEコマンドで指定したモジュール名を持つモジュールがまだ設定されていないと, デバッガはそのモジュールを設定します。ただし,モジュールだけを設定する場合は,SET SCOPE コマンドではなくSET MODULEコマンドを使用してください。SET SCOPE コマンドを使用すると,現在の有効範囲検索リストを妨害する可能性があるためです。

Adaプログラムについての詳しい説明は,ヘルプ・トピックLanguage_ Support Adaを参照してください。

関連コマンド


CANCEL ALL
SEARCH
SET MODULE
(SHOW,CANCEL) SCOPE
SHOW SYMBOL
SYMBOLIZE
TYPE

  1. DBG> EXAMINE Y
    %DEBUG-W-NOUNIQUE, symbol 'Y' is not unique
    DBG> SHOW SYMBOL Y
        data CHECK_IN\Y
        data INVENTORY\COUNT\Y
    DBG> SET SCOPE INVENTORY\COUNT
    DBG> EXAMINE Y
    INVENTORY\COUNT\Y: 347.15
    DBG>
    
    この例では,最初のEXAMINE Yコマンドは,シンボルYが何回も定義されており, 現在の有効範囲検索リストでは解消できないことを示しています。 SHOW SYMBOLコマンドは,宣言されているシンボルYをすべて表示します。 SET SCOPEコマンドは,INVENTORYモジュールのCOUNTルーチンでパス名接頭識別子のないシンボルを検索するようにデバッガに指示します。 この結果, その次のEXAMINEコマンドは,Yを明確に解釈できます。

  2. DBG> CANCEL SCOPE
    DBG> SET SCOPE/CURRENT 1
    
    この例では,CANCEL SCOPEコマンドが省略時の有効範囲検索リスト(0,1,2, . . . , n)を復元します。次にSET SCOPE/CURRENT コマンドが有効範囲検索リストを 1,2, . . . ,nに変更し, シンボル検索が有効範囲 1 ( すなわち,実行が現在中断しているルーチンを呼び出す側) で開始するようにします。定義済みソース表示SRCと機械語命令ディスプレイ INST が更新され,実行が中断しているルーチンを呼び出す側のソースと命令を表示するようになります。

  3. DBG> SET SCOPE 1
    DBG> EXAMINE %R5
    
    この例では,SET SCOPEコマンドは,有効範囲1 (すなわち,実行が中断しているルーチンを呼び出す側) でパス名接頭識別子のないシンボルを検索するようにデバッガに指示します。EXAMINE コマンドは,呼び出す側のルーチンのレジスタR5 の値を表示します。SET SCOPEコマンドとともに/CURRENT を指定しないと,ソース表示または機械語命令ディスプレイは更新されません。

  4. DBG> SET SCOPE 0, STACKS\R2, SCREEN
    
    このコマンドは,次の有効範囲検索リストに従ってパス名接頭識別子のないシンボルを検索するようにデバッガに指示します。 これにより,デバッガは最初にPC 有効範囲(0で示される)で検索します。ここで指定されたシンボルを見つけることができないと,STACKS モジュールのR2ルーチンで探します。 それでも見つからない場合は,SCREENモジュール内を検索します。 ここでも指定されたシンボルを見つけることができないと,デバッガはそれ以上は検索しません。

  5. DBG> SHOW SYMBOL X
    data ALPHA\X                ! global X
    data ALPHA\BETA\X           ! local X
    data X (global)             ! same as ALPHA\X
    DBG> SHOW SCOPE
    scope: 0 [ = ALPHA\BETA ]
    DBG> SYMBOLIZE X
    address ALPHA\BETA\%R0:
        ALPHA\BETA\X
    DBG> SET SCOPE \
    DBG> SYMBOLIZE X
    address 00000200:
        ALPHA\X
    address 00000200: (global)
        X
    DBG>
    
    この例では,SHOW SYMBOLコマンドが,シンボルXに対して2つの宣言(グローバルALPHA\X (2 回定義されている)とローカルALPHA\BETA\X)があることを示します。 現在の有効範囲では,X (ALPHA\BETA\X)のローカル宣言が可視状態にあります。 有効範囲がグローバルな有効範囲(SET SCOPE \)に設定されたあとで,X のグローバル宣言が可視状態になります。

SET SEARCH

SEARCHコマンドの省略時の修飾子(/ALLまたは/NEXT,/IDENTIFIERまたは/STRING) を設定します。

フォーマット

    SET SEARCH   search-default[, . . . ]

パラメータ

search-default

SEARCHコマンドの省略時の修飾子を指定します。次のキーワード(SEARCH コマンド修飾子と同じです)を指定できます。

ALL それ以降のSEARCHコマンドがSEARCH /NEXTではなくSEARCH/ALLとして扱われます。
IDENTIFIER それ以降のSEARCHコマンドがSEARCH /STRINGではなくSEARCH/IDENTIFIERとして扱われます。
NEXT 省略時の設定。それ以降のSEARCH コマンドがSEARCH/ALLではなくSEARCH/NEXTとして扱われます。
STRING 省略時の設定。 それ以降のSEARCHコマンドがSEARCH/IDENTIFIERではなくSEARCH /STRINGとして扱われます。

説明

SET SEARCHコマンドは,それ以降のSEARCHコマンドの省略時の修飾子を設定します。SET SEARCH に指定するパラメータは,SEARCHコマンドの修飾子と同じ名前です。 これらの修飾子は,SEARCHコマンドが(1)その文字列のすべての出現箇所を検索するか(ALL) または次の出現箇所だけを検索するか(NEXT) を決定し,さらに(2)その文字列の任意の出現箇所を表示するか(STRING) または現在の言語で識別子の一部を構成できる文字によってどちら側にもつながっていない文字列の出現箇所だけを表示するか(IDENTIFIER) を決定します。

1つのSEARCHコマンドの実行中に,別のSEARCH修飾子を指定すれば,現在のSEARCH の省略時の修飾子を上書きできます。現在のSEARCHの省略時の修飾子を表示するには,SHOW SEARCH コマンドを使用します。

関連コマンド


SEARCH
(SET,SHOW) LANGUAGE
SHOW SEARCH

    DBG> SHOW SEARCH
    search settings: search for next occurrence, as a string
    
    DBG> SET SEARCH IDENTIFIER
    DBG> SHOW SEARCH
    search settings: search for next occurrence, as an identifier
    
    DBG> SET SEARCH ALL
    DBG> SHOW SEARCH
    search settings: search for all occurrences, as an identifier
    DBG>
    
    この例では,SET SEARCH IDENTIFIERコマンドが,指定された範囲内でその文字列が出現するところを検索するが, 現在の言語の識別子の一部になれる文字によってどちらの側にもつながっていない場合だけ, その文字列を表示するようにデバッガに指示します。

    SET SEARCH ALLコマンドは,指定された範囲内でその文字列が出現するところをすべて検索し表示します。

SET SOURCE

ソース・ファイルのディレクトリの検索リストと検索方法のどちらか一方, あるいは両方を指定します。

フォーマット

    SET SOURCE   directory-spec[, . . . ]

パラメータ

directory-spec

ソース・ファイルを検索する場合に,省略時の設定としてデバッガが使用するOpenVMS ファイル指定部分(通常は装置/ディレクトリ)を指定します。 ユーザが指定しない全ファイル指定の任意の部分については,モジュールのシンボル・ レコードに格納されているファイル指定(すなわち, ソース・ファイルがコンパイル時に持っていたファイル指定)が使用されます。

1つのSET SOURCEコマンドでディレクトリを2つ以上指定すると,ソース・ ディレクトリ検索リストが作成されます(プロセス・レベルで定義した検索リスト論理名を指定することもできます) 。この場合,デバッガは指定された最初のディレクトリから順に検索し, ソース・ファイルを検索するかディレクトリ・ リストが終るまで検索を続けます。

修飾子

/DISPLAY

デバッガがソース・コードを使用するときに表示するディレクトリ検索リストを指定します。 省略時の表示検索ディレクトリはコンパイル・ ディレクトリです。

/EDIT

デバッガがEDITコマンドの実行中に使用するディレクトリ検索リストを指定します。 省略時の編集検索ディレクトリはコンパイル・ディレクトリです。

/EXACT (省略時の設定)

使用するディレクトリ検索方法を指定します。この修飾子を使用した場合, デバッガはデバッガ・シンボル・テーブルにあるバージョンと 正確に一致するバージョンのソース・ファイルを検索します。

/LATEST

使用するディレクトリ検索方法を指定します。この修飾子を使用した場合, デバッガはソース・ファイルの最新バージョン,つまりディレクトリ内の一番大きい番号のバージョンを検索します。

/MODULE=module-name

指定されたモジュールだけに使用するディレクトリ検索リストを指定します。SET SOURCE/MODULE コマンドには,上に挙げた修飾子を追加することができます。

/ORIGINAL

STDLプログラムにだけ適用される。別売レイヤード・プロダクトのコリレーション・ ファシリティ(Correlation Facility)をインストールする必要があり, 保持デバッガ(Kept Debugger)を起動する必要があります。 デバッガが,STDLのコンパイル時に生成される中間ファイルではなく,元のSTDL ソース・ファイルを表示するように指定します。

説明

省略時の設定では,デバッガはソース・ファイルがコンパイル時に入っていたディレクトリ内にあると予想します。 ソース・ファイルがコンパイルのあとに別のディレクトリに移動していた場合は,SET SOURCE コマンドを使用して, ファイルを見つけるためのディレクトリ検索リストとディレクトリ検索方法を指定します。

ディレクトリ検索リストの指定

OpenVMSシステムのバージョン6.1では, OpenVMSファイルの完全指定は次の構成になっています。

     node::device:[directory]file-name.file-type;version-number

この完全指定は,OpenVMSオペレーティング・システムとともに出荷されるDECnet の省略時のバージョンで使用されるDECnet ノード名機能を反映しています。 詳しい説明は,『DECnet for OpenVMS Networking Manual』を参照してください。

OpenVMSバージョン6.1と DECnet-Plus for OpenVMSを稼動しているOpenVMSシステムでは,ファイルの完全指定に完全名という拡張ノード指定を含めることができます。 完全名は,DECdns 命名サービスに格納することができる階層構造の DECnet-Plus for OpenVMSノード名です。 完全名は次の形式で最高255バイトまで可能です。

     namespace:.directory ... .directory.node-name

この構文では,namespaceにグローバル命名サービスを, directory ... .directoryに命名サービス内の階層ディレクトリパスを, そしてnode-nameにDECnetノードを定義する特定のオブジェクトを指定します。

名前の体系を設定するための完全名と提案事項については,『OpenVMSシステム管理者マニュアル』を参照してください。DECnet- Plus for OpenVMS については,『DECnet-Plus for OpenVMS Introduction and User's Guide』を参照してください。

ソース・ファイルのファイル完全指定が255文字を超えると,デバッガはファイルを検索できません。 この問題を解決するには,まず論理名"X" (DCLレベルで)を長いファイル指定に合わせて拡大するよう定義してからSET SOURCE X コマンドを使用します。

/DISPLAY修飾子または/EDIT修飾子のどちらもないSET SOURCEコマンドはディスプレイおよび編集検索ディレクトリの両方を変更します。

/DEBUG修飾子を使用してプログラムをコンパイルする場合,ルート・ディレクトリ論理名を使用してソース・ ファイルの記憶位置を指定するときは, それが隠しルート・ディレクトリ論理名でなければなりません。 隠しルート・ディレクトリ論理名でない場合ソース・ファイルを他のディレクトリに移動すると, デバッガのSET SOURCEコマンドを使用してソース・ ファイルの新しい記憶位置を指定することができません。

隠しルート・ディレクトリ論理名を作成するには,DCLのDEFINEコマンドに/TRANSLATION_ATTR=CONCEALED 修飾子を指定します。

ディレクトリ検索方法の指定

SET SOURCEコマンドを実行する場合,2つの修飾子/LATESTと/EXACTのいずれかが必ず有効でなければなりません。 これらの修飾子は,デバッガの検索方法に影響を与えます。/LATEST 修飾子は,最後に作成されたバージョン( ディレクトリ内の一番大きい番号のバージョン)を検索するようデバッガに指示します。/EXACT 修飾子は,最後にコンパイルされたバージョン( コンパイル時に作成されたデバッガ・シンボル・テーブルに記録されているバージョン) を検索するようデバッガに指示します。たとえば,SET SOURCE/LATESTコマンドはSORT.FOR;3を検索し,SET SOURCE/EXACTコマンドはSORT.FOR;1 を検索するという具合です。

デバッガはディレクトリ検索リストを使用してバージョンを見つけると, 作成日時,更新日時,ファイル・サイズ,レコード形式,およびファイル構成がコンパイル時の元のソース・ ファイルと同じかどうかを調べます。 これらがすべて一致した場合,デバッガは元のソース・ファイルが新しいディレクトリにそのままのバージョンで存在していると結論づけます。

デバッガはディレクトリ検索リストを使用してバージョンを見つけられないと, ソース・コードを初めて表示するときに,更新日時が最も近いファイル( そのようなファイルがディレクトリ内に存在している場合)を識別し,NOTORIGSRC メッセージ("original version of source file not found")を発行します。

/EDIT修飾子の指定

ソース・コードの表示に使用するファイルがEDITコマンドを使用して編集しようとしているファイルと異なる場合は,/EDIT 修飾子を指定しなければなりません。 これは,Adaプログラムの場合に当てはまります。Ada プログラムの場合,(SET, SHOW, CANCEL) SOURCEコマンドは,ソース・ ディスプレイに使用するファイル(Adaプログラム・ライブラリ内の"コピーされた" ソース・ファイル)の検索に影響を与えます。(SET, SHOW, CANCEL) SOURCE/EDITコマンドは,EDITコマンドを使用して編集するソース・ ファイルの検索に影響を与えます。/EDITとともに/MODULEを使用すると,/EDIT の効果を/MODULEで修飾することができます。

Adaプログラムについての詳しい説明は,ヘルプ・トピックLanguage_ Support Adaを参照してください。

/ORIGINAL修飾子の指定

システムに別売レイヤード・プロダクトのコリレーション・ファシリティ(Cor relation Facility) をインストールしなければ,SET SOURCEコマンドに/ORIGINAL を修飾子を使用することはできません。デバッグ前にコリレーション・ ライブラリを作成する方法については,コリレーション・ファシリティのドキュメントを参照してください。

次に,保持デバッガ(Kept Debugger)を起動してSET SOURCE/ORIGINALコマンドを次のように実行します。

     $   DEBUG/KEEP
     DBG> SET SOURCE/ORIGINAL
     DBG> RUN filename.EXE

以上のコマンドを実行すると,他のサポート言語のプログラムと同じようにSTDL ソース・コードをデバッグすることができるようになります。

関連コマンド


(SHOW,CANCEL) SOURCE

  1. DBG> SHOW SOURCE
      no directory search list in effect
    DBG> SET SOURCE [PROJA],[PROJB],[PETER.PROJC]
    DBG> SHOW SOURCE
        source directory list for all modules,
        match the latest source file version:
            [PROJA]
            [PROJB]
            [PETER.PROJC]
    
    この例ではSET SOURCEコマンドによって,デバッガがディレクトリ[PROJA] ,[PROJB],[PETER.PROJC]をこの順に検索してソース・ファイルの最新バージョンを検索するようにしています。

  2. DBG> SET SOURCE/MODULE=CTEST/EXACT [],SYSTEM::DEVICE:[PROJD]
    DBG> SHOW SOURCE
       source directory search list for CTEST,
        match the exact source file version:
            []
            SYSTEM::DEVICE:[PROJD]
        source directory list for all other modules,
        match the latest source file version:
            [PROJA]
            [PROJB]
            [PETER.PROJC]
    
    前の例の続きのこの例では,SET SOURCE/MODULE=CTESTコマンドによって, デバッガが現在の省略時のディレクトリ([]), SYSTEM::DEVICE:[PROJD]の順にソース・ファイルを検索し,CTECTモジュールで使用できるようにしています。/EXACT 修飾子は,デバッグ・シンボル・ テーブルにあるバージョンと正確に一致するバージョンのCTEST ソース・ファイルを検索するように指定しています。

  3. DBG> SET SOURCE /EXACT
    DBG> SHOW SOURCE
        no directory search list in effect,
         match the exact source file
    DBG> SET SOURCE [JONES]
    DBG> SHOW SOURCE
        source directory list for all modules,
         match the exact source file version:
             [JONES]
    DBG> CANCEL SOURCE /EXACT
    DBG> SHOW SOURCE
         source directory list for all modules,
         match the latest source file version:
             [JONES]
    
    この例では,最初のSET SOURCE/EXACTコマンドで設定した検索方法(一致バージョンの検索) は,SET SOURCE [JONES]コマンドでもそのまま有効です。CANCEL SOURCE/EXACT コマンドは,SET SOURCE/EXACTコマンドを取り消し, さらにSET SOURCE [JONES]に影響を与えています。

SET STEP

STEPコマンドの省略時の修飾子(/LINE,/INTOなど)を設定します。

フォーマット

    SET STEP   step-default[, . . . ]

パラメータ

step-default

STEPコマンドの省略時の設定を指定します。次のキーワード(STEPコマンドの修飾子と同じ) を指定できます。

BRANCH それ以降のSTEPコマンドがSTEP/BRANCH ( 次の分岐命令までステップ実行する)として扱われます。
CALL それ以降のSTEP コマンドがSTEP/CALL (次の呼び出し命令までステップ実行する)として扱われます。
EXCEPTION それ以降のSTEPコマンドがSTEP/EXCEPTION (次の例外までステップ実行する) として扱われます。
INSTRUCTION それ以降のSTEPコマンドがSTEP /INSTRUCTION (次の命令までステップ実行する)として扱われます。

VAXプロセッサでは,1つまたは複数の命令( opcode[, . . . ])も指定できます。デバッガは指定されたリスト中で次の命令までステップ実行します。

VAXプロセッサでは,ベクタ命令を指定する場合, 命令修飾子(/UNALIGNED_DATA,/VECTOR_INSTRUCTION, /MODIFY,/0,または/1)と命令ニーモニックをいっしょには指定できません。

INTO それ以降のSTEP コマンドがSTEP/OVER(呼び出されたルーチンを1ステップ実行する) ではなくSTEP/INTO (呼び出されたルーチン内の命令をステップ実行する) として扱われます。INTOを指定した場合,パラメータ[NO]JSB ,[NO]SHARE,[NO]SYSTEMを使用するか,またはSTEP /[NO]JSB,STEP/[NO]SHARE,STEP/[NO]SYSTEMのコマンドと修飾子の組み合わせ( 当STEPコマンドにだけ影響を与えます)を使用して,ステップ実行したいルーチンの型を修飾できます。
JSB (VAXのみ) INTOが指定されている場合,それ以降のSTEP コマンドはSTEP/INTO/JSB (JSB命令によって呼び出されたルーチンとCALL 命令によって呼び出されたルーチン内の命令をステップ実行する) として扱われます。DIBOLを除くすべての言語では,これが省略時の設定です。
NOJSB (VAX のみ) INTOが指定されている場合,それ以降のSTEPコマンドはSTEP/INTO /NOJSB (JSB命令によって呼び出されたルーチンを1ステップとして実行するが,CALL 命令によって呼び出されたルーチンは,その中の命令をステップ実行する) として扱われます。これは,DIBOLにおける省略時の設定です。
LINE 省略時の設定。 それ以降のSTEPコマンドは,STEP/LINE (次の行までステップ実行する) として扱われます。
OVER 省略時の設定。それ以降のSTEPコマンドは,STEP/INTO (呼び出されたルーチン内の命令をステップ実行する) ではなくSTEP/OVER (呼び出されたルーチンを1 ステップとして実行する)として扱われます。
RETURN それ以降のSTEPコマンドは, STEP/RETURN (現在実行中のルーチンの戻り命令をステップ実行する。すなわち, 制御が呼び出した側のルーチンに戻る前の地点までステップ実行する) として扱われます。
LINE 省略時の設定。それ以降のSTEPコマンドは,STEP/LINE (次の行までステップ実行する) として扱われます。
SEMANTIC_EVENT (Alphaのみ)それ以降のSTEPコマンドは,STEP/SEMANTIC_EVENT ( 次のセマンディック・イベントまでステップ実行する) として扱われます。これによって,最適化されたプログラムのデバッガが簡単になります。( 詳細は,『デバッガ説明書』を参照してください。)
SHARE 省略時の設定。INTOが指定されている場合,それ以降のSTEPコマンドはSTEP/INTO/SHARE ( 共用可能イメージ内の呼び出されたルーチンとそれ以外の呼び出されたルーチン内の命令をステップ実行する) として扱われます。
NOSHARE INTOが指定されている場合, それ以降のSTEPコマンドが,STEP/INTO/NOSHARE (共用可能イメージ内の呼び出されたルーチンを1 ステップとして実行するが, それ以外のルーチンでは,その中の命令をステップ実行する)として扱われます。
SILENT それ以降のSTEPコマンドがSTEP/SILENT (1ステップあとに,"stepped to . . . "メッセージまたは現在の記憶位置のソース行を表示しない)として扱われます。
NOSILENT 省略時の設定。それ以降のSTEPコマンドがSTEP/NOSILENT (1ステップあとに,"stepped to . . . " メッセージを表示する)として扱われます。
SOURCE 省略時の設定。 それ以降のSTEPコマンドがSTEP/SOURCE(1ステップあとに, 現在の記憶位置のソース行を表示する)として扱われます。またそれ以降のコマンドSET BREAK ,SET TRACE,SET WATCHは,それぞれコマンドSET BREAK/SOURCE ,SET TRACE/SOURCE,SET WATCH/SOURCE(ブレークポイント, トレースポイント,ウォッチポイントで現在の記憶位置のソース行を表示する) として扱われます。
NOSOURCE それ以降のSTEPコマンドがSTEP /NOSOURCE(1ストップあとに,現在の記憶位置のソース行を表示しない) として扱われます。また,それ以降のコマンドSET BREAK,SET TRACE, SET WATCHは,それぞれSET BREAK/NOSOURCE,SET TRACE/NOSOURCE,SET WATCH/NOSOURCE(ブレークポイント,トレースポイント,ウォッチポイントで現在の記憶位置を表示しない) として扱われます。
SYSTEM 省略時の設定。INTOが指定されていると, それ以降のSTEPコマンドがSTEP/INTO/SYSTEM (システム空間(P1空間) 内の呼び出されたルーチンとそれ以外の呼び出されたルーチン内の命令をステップ実行する) として扱われます。
NOSYSTEM INTOが指定されている場合,それ以降のSTEP コマンドがSTEP/INTO/NOSYSTEM(システム空間内の呼び出されたルーチンを1 ステップとして実行するが,他のルーチンの場合はそのルーチン内の命令をステップ実行する) として扱われます。
VECTOR_INSTRUCTION (VAXのみ)それ以降のSTEP コマンドがSTEP/VECTOR_INSTRUCTION(次のベクタ命令をステップ実行する) として扱われます。

説明

SET STEPコマンドは,それ以降のSTEPコマンドの省略時の修飾子を設定します。SET STEP コマンドで指定するパラメータは,STEPコマンドの修飾子と同じ名前です。 次のパラメータは,STEPコマンドが1ステップあとでどこで実行を中断するのかを決定します。
BRANCH
CALL
EXCEPTION
INSTRUCTION
INSTRUCTION=(opcode[, . . . ]) (VAXのみ)
LINE
RETURN
SEMANTIC_EVENT (Alphaのみ)
VECTOR_INSTRUCTION (VAXのみ)

次のパラメータは,STEPコマンドを実行したときにどの出力を表示するかを制御します。


[NO]SILENT
[NO]SOURCE

次のパラメータは,ルーチンを呼び出したときの動作を制御します。


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

STEPコマンドで省略時の設定以外の修飾子を指定すると,そのコマンドの実行中だけ, 現在のSTEPの省略時の修飾子を上書きできます。SHOW STEP コマンドを使用すると現在のSTEPの省略時の修飾子を表示できます。

PF1-PF3を押して画面モードにすると,SET STEP NOSOURCEコマンドとSET MODE SCREENコマンドが指定されます。したがって,STEPコマンドの実行の結果またはブレークポイント, トレースポイント,ウォッチポイントが検出された結果作成された出力表示とDO 表示内ではソース・コードが表示されず, ソース表示による無駄を省くことができます。

OpenVMS VAXシステムでは,STEP/OVERコマンドはステップ実行ではなくFortran 実行時ライブライ・ルーチンを実行することがあります。詳細は, 『デバッガ説明書』を参照してください。

関連コマンド


SHOW STEP
STEP

  1. DBG> SET STEP INSTRUCTION,NOSOURCE
    
    このコマンドを使用すると,デバッガはSTEPコマンドを入力したときに次の命令まで実行します。STEP コマンドごとにソース・コード行を表示することはありません。

  2. DBG> SET STEP LINE,INTO,NOSYSTEM,NOSHARE
    
    このコマンドを使用すると,デバッガはSTEPコマンドを入力したときにプログラムの次の行まで実行してから, ユーザ空間にある呼び出されたルーチン内の命令だけをステップ実行します。 システム空間内のルーチンと共用可能イメージ内のルーチンは1 ステップとして実行されます。

SET TASK | THREAD

タスキング・プログラム(マルチスレッド・プログラムとも呼ばれます)の1 つまたは複数のタスクの属性を変更します。

フォーマット

    SET TASK   [task-spec[, . . . ]]

パラメータ

task-spec

タスク値を指定します。次のいずれかの形式を指定します。

ワイルドカード文字のアスタリスク(*)は使用できません。代わりに/ALL 修飾子を使用してください。/ALLまたは/TIME_SLICEを指定する場合, タスクは指定できません。タスクを指定しないか,/ALLを/ABORT, /[NO]HOLD,/PRIORITY,または/RESTOREとともに指定しないと,可視タスクが選択されます。

修飾子

/ABORT

指定されたタスクに終了のマークをつけます。指定されたタスクが実行を再開したあとに次に認められる時点で終了します。

DEC Adaタスクの場合,指定されたタスクにAda強制終了文を実行することと同じであり, これらのタスクは異常として示されます。依存タスクにも終了のマークがつけられます。

DECthreadsスレッドの場合,次のコマンドを使用します。

     PTHREAD tset -c thread-number

/ACTIVE

指定されたタスクをアクティブ・タスクにします。これは, コマンドSTEP ,GO,CALLまたはEXITを実行したときに実行されるタスクです。 この修飾子を使用すると,タスクは新しいアクティブ・タスクに切り替わり, そのタスクが可視タスクになります。指定されたタスクは,RUNNING状態かREADY 状態になければなりません。/ACTIVEを使用する場合,タスクを1つ指定しなければなりません。

SET TASK/ACTIVEコマンドは,VAX上のDEC Adaでのみサポートされています。

DECthreadsプログラムまたはAlphaプログラム上のDEC Adaでは,次のコマンドのうちのいずれかを使用します。 クエリー型のアクションにはSET TASK/ACTIVEコマンドではなくSET TASK/VISIBLEコマンドを使用してください。 または,実行の制御を得るには,ブレークポイントを効果的な位置に配置します。

/ALL

SET TASKコマンドをすべてのタスクに指定します。

/HOLD
/NOHOLD (省略時の設定)

イベント機能がTHREADS の場合は,PTHREAD tset -h thread-numberコマンドまたはPTHREAD tset -n thread-number コマンドを使用します。

指定されたタスクを保留するかどうかを制御します。/HOLD修飾子は指定されたタスクを保留します。

タスクを保留すると,そのタスクをRUNNING状態にできなくなります。保留状態にあるタスクは, 他の状態に移行できます。たとえば,SUSPENDED 状態からREADY状態に変わることができます。

すでにRUNNING状態にあるタスク(アクティブ・タスク)は,RUNNING状態にあるかぎり実行を続けることができます。 実行は保留状態にあっても続けられます。 何らかの理由(タイム・スライスが使用できる場合,タイム・ スライス値を超えたなど)でRUNNING状態でなくなると,保留条件が解消されないかぎり,RUNNING 状態に戻ることはできません。

SET TASK/ACTIVEコマンドを使用すれば,タスクが保留されていても,保留条件を上書きし, タスクをRUNNING状態にできます。

/NOHOLD修飾子は,指定されたタスクの保留を解除します。

/PRIORITY=n

イベント機能がTHREADSの場合は,PTHREAD tset -s thread-numberコマンドを使用します。

指定されたタスクの優先順位をnに設定します。ここで nは0から15までの10進整数です。これにより,実行中( たとえば,AdaランデブまたはDECthreads同期化の実行中) にあとで優先順位を変更できなくなるわけではありません。 この修飾子は,タスクのスケジューリング方法には影響を与えません。

/RESTORE

(DEC Ada on VAXのみ)

指定されたタスクの優先順位を,作成されたときの優先順位に復元します。 タスクのスケジューリング方法には影響を与えません。

/TIME_SLICE=t

タイム・スライス期間をtの値に設定します。 ここで, tは秒数を表す10進整数または実数値です。ここで設定された値は, プログラム内で指定されたタイム・スライス値(指定されている場合) を上書きします。タイム・スライスを禁止するには,/TIME_SLICE=0.0を使用します。/TIME_SLICE はイベント機能がADAの時のみ有効になります。

/VISIBLE

指定されたタスクを可視タスクにします。これは,シンボル, レジスタ値,ルーチン呼び出し,ブレークポイントなどの検索時に現在のコンテキストになっている呼び出しスタックとレジスタ・ セットを持つタスクです。EXAMINE などのコマンドは,可視タスクで出力先が指定されます。/VISIBLE 修飾子はアクティブ・タスクには影響を与えません。/VISIBLE を使用する場合は,タスクを1つ指定しなければなりません。

説明

SET TASKコマンドは,可視タスクとアクティブ・タスクの設定,これらのタスクの実行の制御, タスク状態の変更を直接または間接的に行えるようにします。

タスクの現在の状態を調べるには,SHOW TASKコマンドを使用します。タスクは,RUNNING ,READY,SUSPENDED,TERMINATEDのいずれかの状態にあります。

関連コマンド


DEPOSIT/TASK
EXAMINE/TASK
SET BREAK/EVENT
SET TRACE/EVENT
(SET, SHOW) EVENT_FACILITY
SHOW TASK | THREAD

  1. DBG> SET TASK/ACTIVE %TASK 3
    
    (イベント・ファシリティ= ADA)このコマンドは,タスク3(タスクID = 3) をアクティブ・タスクにします。

  2. DBG> PTHREAD tset -a 3
    
    (イベント・ファシリティ= THREADS)このコマンドは,タスク3(タスクID = 3)をアクティブ・タスクにします。

  3. DBG> SET TASK %NEXT_TASK
    
    このコマンドは,デバッガのタスク・リスト中で次のタスクを可視タスクにします(/VISIBLE 修飾子は,SET TASKコマンドの省略時の修飾子です)。

  4. DBG> SET TASK/HOLD/ALL
    DBG> SET TASK/ACTIVE %TASK 1
    DBG> GO
         . . .
    DBG> SET TASK/ACTIVE %TASK 3
    DBG> STEP
         . . .
    
    この例では,SET TASK/HOLD/ALLコマンドがアクティブ・タスク以外のすべてのタスクの状態を凍結します。 したがって,SET TASK/ACTIVEを必要なときだけ使用して(GO コマンドとSTEPコマンドとともに),1つまたは複数の指定されたタスクの動作を切り離して観察できます。

SET TERMINAL

デバッガが画面やその他の出力を編集するときに使用する端末画面の高さと幅を設定します。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

    SET TERMINAL

修飾子

/PAGE:n

端末画面の高さをn行に設定することを指定します。18 から100まで指定できます。

/WIDTH:n

端末画面の幅をn欄に設定することを指定します。 20から255まで指定できます。VT100,VT200またはVT300のシリーズの端末では, nは通常の場合80または132です。

/WRAP

デバッガが定義済みのディスプレイOUTに/WIDTH修飾子によって指定されたカラムで出力テキストをラップするようにします。/WIDTH を現在のコマンドに指定しない場合は,/WRAP は %WIDTH設定を省略時の設定にします。

説明

SET TERMINALコマンドを使用すると,デバッガが画面出力の編集に使用できる画面部分を定義できます。

このコマンドは,VT100,VT200またはVT300のシリーズの端末を使用する場合に便利です。 この場合,たいていは画面幅を80欄または132欄に設定できます。 また,ワークステーションではデバッガが使用するターミナル・ エミュレータ・ウィンドウのサイズを変更できるので,やはり便利です。

少なくとも1つの修飾子を指定しなければなりません。全部の修飾子を指定することも可能です。/PAGE 修飾子と/WIDTH修飾子には,それぞれ値が必要です。

SET TERMINALコマンドを入力すると,すべての画面ウィンドウ定義が,新しい画面サイズに合うように自動的に調整されます。 たとえば,RH1は, 画面の右上半分を表示するようにサイズを比例して変更します。

同様に,すべての"動的"表示ウィンドウは,相対的な比率を維持するように自動的に調整されます。 すべての標準ウィンドウは動的ですが, DISPLAY/NODYNAMICコマンドで参照した場合は例外です。その場合には, あとでSET TERMINALコマンドを実行した場合も,表示ウィンドウは現在のサイズのまま変化しません。 しかし,DISPLAYコマンドを使用すると,表示ウィンドウを再構成できます( また,BLUE-MINUSなどのキーパッド・キーの組み合わせを使用して, 定義済みのDISPLAYコマンドを入力することも可能です) 。

関連コマンド


DISPLAY/[NO]DYNAMIC
EXPAND
(SET,SHOW,CANCEL) WINDOW
SHOW TERMINAL

    DBG> SET TERMINAL/WIDTH:132
    
    このコマンドは,端末画面幅を132欄に設定することを指定します。

SET TRACE

特定のクラスの命令または指定されたイベントの発生時に,アドレス式で示された記憶位置にトレースポイントを設定します。

フォーマット

    SET TRACE   [address-expression[, . . . ]]
               [WHEN(conditional-expression)]
               [DO(command[; . . . ])]

パラメータ

address-expression

トレースポイントを設定するアドレス式(プログラム記憶位置)を指定します。 高級言語の場合,これはたいていは行番号,ルーチン名,またはラベルです。 値を一意に指定するパス名をいれることもできます。また, アドレス式はメモリ・アドレスまたはレジスタの場合もあります。数字( オフセット)とシンボルで構成したり,1つまたは複数の演算子,オペランド, または区切り文字で構成したりできます。アドレス式で使用できる演算子についての詳しい説明は, ヘルプ・トピックAddress_Expressions を参照してください。

ワイルドカード文字のアスタリスク(*)は使用できません。また次の修飾子を指定する場合は, アドレス式は指定できません。


/ACTIVATING
/BRANCH
/CALL
/EXCEPTION
/INSTRUCTION
/INSTRUCTION=(opcode[, . . . ]) (VAXのみ)
/INTO
/[NO]JSB (VAXのみ)
/LINE
/OVER
/[NO]SHARE
/[NO]SYSTEM
/TERMINATING
/VECTOR_INSTRUCTION (VAXのみ)

/MODIFY修飾子と/RETURN修飾子は,特定の種類のアドレス式に指定できます。

メモリ・アドレス,または値がシンボリック記憶位置でないアドレス式を指定する場合は, 示しているメモリ・バイトで命令が実際に始まっているかを(EXAMINE コマンドを使用して)チェックしてください。命令がこのバイトで始まっていないと, そのバイトを持つ命令を実行したときに実行時エラーが発生します。 値がシンボリック記憶位置でないアドレス式を指定してトレースポイントを設定しても, デバッガは指定された記憶位置が命令の開始位置を示しているかどうかをチェックしません。

VAXプロセッサの場合,CALLSルーチンとCALLG ルーチンは,エントリ・マスクで始まります。

conditional-expression

現在設定されている言語で条件式を指定します。この式は実行がブレークポイントに達したときに評価されます。 ブレークポイントが設定されたときではなく, 実行がブレークポイントに達すると,デバッガはWHEN句にある式の構文をチェックします。 式が真であれば,デバッガは,ブレークポイントが発生したことを報告します。 ブレーク・アクション(DO句)がブレークポイントと関連付けられている場合は, 同時に発生します。式が偽の場合は報告されません。 また,DO句によって指定されたコマンドは実行されず, プログラムの実行は続行されます。

command

ブレーク・アクションが実行されたときに,DO句の一部として実行されるデバッガ・ コマンドを指定します。ブレークポイントが設定されたときではなく,DO 句が実行されると,デバッガはDO句にある式の構文をチェックします。

修飾子

/ACTIVATING

省略時の設定。マルチプロセス・デバッグ構成の場合(DBG$PROCESS の値がMULTIPROCESSの場合)に指定できます。新しいプロセスがデバッガの制御下に置かれると, デバッガはトレースします。/TERMINATING 修飾子も参照してください。

/AFTER:n

指定されたトレースポイントがn回検出されるまで, トレース・アクションを実行しないことを指定します(nは10 進整数です)。それ以降は,WHEN句の条件(指定された場合)が真,検出されるたびにトレースポイントが発生します。SET TRACE/AFTER:1 コマンドは,SET TRACEと同じです。

/BRANCH

デバッガは,プログラムの実行中に検出されるすべての分岐命令をトレースします。/INTO 修飾子と/OVER修飾子も参照してください。

/CALL

デバッガは,プログラムの実行中に呼び出し命令(復帰命令を含む) を検出するたびにトレースします。/INTO修飾子と/OVER修飾子も参照してください。

/EVENT=event-name

指定されたイベントが発生する(現在のイベント機能によってイベントが定義され, そのイベントが検出される)と,デバッガがトレースします。 アドレス式に/EVENTを指定すると,そのアドレス式に対して指定されたイベントが発生するたびにデバッガがトレースします。 アドレス式に特定のイベント名を指定することはできません。

イベント機能は,AdaルーチンまたはSCANルーチンを呼び出すプログラムまたはDECthreads サービスを使用するプログラムで使用できます。 現在のイベント機能および関連したイベント名を表示するには,SHOW EVENT_FACILITY コマンドを使用します。

/EXCEPTION

デバッガはシグナル通知されるすべての例外をトレースします。 トレース・アクションは,アプリケーションで宣言した例外ハンドラが起動される前に実行されます。

プログラムが例外を発生すると,SET TRACE/EXCEPTIONコマンドの結果として, デバッガは例外を報告しその例外を再度シグナル通知します。その結果, アプリケーションで宣言した例外ハンドラを実行できます。

/INSTRUCTION
/INSTRUCTION[=(opcode[, . . . ])] (VAXのみ)

命令コードを指定しないと,デバッガはプログラム実行中に検出されたすべての命令をトレースします。

(VAXのみ)命令コードを1つまたは複数個指定すると,デバッガは,リスト内で指定したすべての命令コードをトレースします。

ベクタ命令を指定するとき,命令修飾子(/UNALIGNED_DATA,/VECTOR_ INSTRUCTION,/MODIFY,/0,または/1)と命令ニーモニックの両方をいれることはできません。

/INTO修飾子と/OVER修飾子も参照してください。

/INTO

(省略時の設定。)次の修飾子で設定されているトレースポイント( すなわち,アドレス式が明示的に指定されていない場合)にだけ指定できます。
/BRANCH
/CALL
/INSTRUCTION
/INSTRUCTION=(opcode[, . . . ]) (VAXのみ) LE> /LINE
/VECTOR_INSTRUCTION (VAXのみ)

/INTOをこれらの修飾子といっしょに使用すると,デバッガは,呼び出されたルーチン内( 実行が現在中断されているルーチン内だけでなく)の指定された箇所をトレースします。/INTO 修飾子は省略時の設定であり,/OVER の反対です。

/INTOを使用する場合,/[NO]JSB,/[NO]SHARE,/[NO]SYSTEMの修飾子でトレース・ アクションをさらに修飾できます。

/JSB
/NOJSB

(VAXのみ)の場合,/INTOを修飾します。/INTOと次のいずれかの修飾子といっしょに使用します。
/BRANCH
/CALL
/INSTRUCTION
/INSTRUCTION=(opcode[, . . . ])
/LINE
/VECTOR_INSTRUCTION

/JSB修飾子は,DIBOL以外のすべての言語における省略時の値です。これを指定すると, デバッガは,JSB命令またはCALL命令によって呼び出されるルーチン内にトレースポイントを設定します。/NOJSB 修飾子(DIBOLの省略時の設定) は,JSB命令によって呼び出されるルーチン内でトレースポイントを設定しないことを指定します。DIBOL の場合,アプリケーションで宣言したルーチンはCALL 命令によって呼び出され,DIBOL実行時ライブラリ・ ルーチンがJSB命令によって呼び出されます。

/LINE

デバッガは,プログラム実行中にソース行が検出されるたびにその行の先頭をトレースします。/INTO 修飾子と/OVER修飾子も参照してください。

/MODIFY

指定されたアドレス式が示す記憶位置に命令が値を書き込んで変更したとき, デバッガはトレースを行います。通常の場合,アドレス式は変数名です。

SET TRACE/MODIFY XコマンドはSET WATCH X DO(GO)と同じです。SET TRACE/MODIFYコマンドは,SET WATCHコマンドと全く同じ制限事項の下で動作します。

アドレス式に絶対アドレスを指定すると,デバッガがアドレスを特定のデータ・ オブジェクトに関連づけることができない場合があります。この場合, デバッガは省略時の長さとして4バイトを使用します。ただし,この長さは, 入力をWORD (SET TYPE WORD,省略時の長さを2バイトに変更します) かBYTE (SET TYPE BYTE,省略時の長さを1バイトに変更します)に設定すれば変更できます。SET TYPE LONGWORD コマンドを指定すると,省略時の長さは4 バイトに戻ります。

/OVER

次のいずれかの修飾子で設定されているトレースポイント(すなわち, アドレス式が明示的に指定されていない場合)だけに指定できます。
/BRANCH
/CALL
/INSTRUCTION
/INSTRUCTION=(opcode[, . . . ]) (VAXのみ)
/LINE
/VECTOR_INSTRUCTION (VAXのみ)

/OVERをこれらの修飾子といっしょに使用すると,(呼び出されたルーチンではなく) 現在実行を中断しているルーチン内だけの指定された箇所をデバッガはトレースします。/OVER 修飾子は,/INTO (省略時の設定)の反対です。

/RETURN

指定されたアドレス式(ルーチン名,行番号など)に関連しているルーチンの復帰命令でデバッガがブレークします。 復帰命令でブレークすると, ルーチンがアクティブである間ローカル環境を調べること(たとえば, ローカル変数の値を得るなど)ができます。ローカル環境のビューはアーキテクチャにより異なるので注意してください。

VAXプロセッサの場合,この修飾子は,CALLS命令またはCALLG 命令で呼び出したルーチンにだけ指定できます。JSBルーチンでは使用できません。Alpha プロセッサの場合, この修飾子はどのルーチンにも指定できます。

address-expressionパラメータは,ルーチン内の命令アドレスです。単なるルーチン名の場合もあります。 この場合は,ルーチンの開始アドレスを指定します。 ただし,ルーチン内の別の場所を指定することもできます。 こうすると,特定のコード・パスを実行したあとに行われる復帰だけを調べることができます。

SET TRACE/RETURNコマンドでSET TRACEと同じアドレス式を指定すると, SET TRACEは取り消されます。

/SHARE (省略時の設定)
/NOSHARE

/INTOを修飾します。/INTOと次のいずれかの修飾子といっしょに使用します。
/BRANCH
/CALL
/INSTRUCTION
/INSTRUCTION=(opcode[, . . . ]) (VAXのみ)
/LINE
/VECTOR_INSTRUCTION (VAXのみ)

/SHARE修飾子を使用すると,デバッガは共用可能イメージ・ルーチン内でもその他のルーチンの場合と同様にトレースポイントを設定できます。/NOSHARE 修飾子を指定すると,共用可能イメージ内にはトレースポイントは設定されません。

/SILENT
/NOSILENT (省略時の設定)

"trace . . . "メッセージと,現在の記憶位置のソース行をトレースポイントで表示するかどうかを制御します。/NOSILENT 修飾子を指定すると, メッセージが表示されます。/SILENT修飾子を指定すると,メッセージとソース行は表示されません。/SILENT 修飾子を指定すると,/SOURCEは上書きされます。

/SOURCE
/NOSOURCE (省略時の設定)

現在の記憶位置のソース行をトレースポイントで表示するかどうかを制御します。/SOURCE 修飾子を指定すると,ソース行が表示されます。/NOSOURCE 修飾子を指定すると,ソース行は表示されません。/SILENT修飾子を指定すると,/SOURCE は上書きされます。SET STEP [NO]SOURCEコマンドも参照してください。

/SYSTEM (省略時の設定)
/NOSYSTEM

/INTOを修飾します。/INTOと次のいずれかの修飾子といっしょに使用します。
/BRANCH
/CALL
/INSTRUCTION
/INSTRUCTION=(opcode[, . . . ]) (VAXのみ)
/LINE
/VECTOR_INSTRUCTION (VAXのみ)

/SYSTEM修飾子を指定すると,他のルーチンだけでなくシステム・ルーチン(P1 空間)内でもデバッガはトレースポイントを設定できます。 /NOSYSTEM修飾子を指定すると,システム・ルーチン内ではトレースポイントは設定されません。

/TEMPORARY

トレースポイントを検出したあとでそのトレースポイントを消去します( トレースポイントを一時的に設定するときに使用します)。

/TERMINATING

省略時の設定。プロセスがイメージを終了したときにデバッガがトレースします。 単一プロセス・プログラムまたはマルチプロセス・プログラムの最後のイメージが終了すると, デバッガに制御が戻り,そのプロンプトを表示します。/ACTIVATING 修飾子も参照してください。

/VECTOR_INSTRUCTION

(VAXのみ)デバッガは,プログラム実行中に検出したすべてのベクタ命令をトレースします。/INTO 修飾子と/OVER修飾子も参照してください。

説明

トレースポイントが検出されると,デバッガは次の動作を行います。

  1. トレースポイント記憶位置でプログラムの実行を中断する。

  2. トレースポイントの設定時に/AFTERを指定した場合,AFTER回数をチェックする。 指定された回数に達していないと実行が再開され, デバッガは残りのステップを実行しない。

  3. トレースポイントの設定時にWHEN句を指定した場合,WHEN句の式を評価する。 式の値が偽であれば実行が再開され,デバッガは残りのステップを実行しない。

  4. /SILENTが指定されていない場合,"trace . . . "メッセージを発行して, 実行がトレースポイント記憶位置に達したことを報告する。

  5. トレースポイントの設定時に/NOSOURCEも/SILENTも指定しないか, またはSET STEP NOSOURCEコマンドを入力していない場合,トレースポイントに対応したソース・ コード行を表示する。

  6. トレースポイントの設定時にDO句を指定していれば,そのDO句内のコマンドを実行する。

  7. 実行を再開する。

プログラムの特定の記憶位置にトレースポイントを設定するには,SET TRACEコマンドでアドレス式を指定します。連続したソース行,命令クラス, またはイベントにトレースポイントを設定するには,SET TRACE コマンドとともに修飾子を指定します。通常はアドレス式か修飾子のどちらかを指定するだけでよく, 両方を指定する必要はありません。ただし,/EVENT と/RETURNの場合は両方指定しなければなりません。

/LINE修飾子を指定すると,各ソース・コード行ごとにトレースポイントが設定されます。

次の修飾子は命令クラスにトレースポイントを設定します。これらの修飾子と/LINE 句をいっしょに使用すると,デバッガはプログラムの実行中に各命令をトレースするので, 実行速度が著しく遅くなります。


/BRANCH
/CALL
/INSTRUCTION
/INSTRUCTION=(opcode[, . . . ]) (VAXのみ)
/RETURN
/SYSEMULATE (Alphaのみ)
/VECTOR_INSTRUCTION (VAXのみ)

次の修飾子は,イベント・クラスにトレースポイントを設定します。


/ACTIVATING
/EVENT=event-name
/EXCEPTION
/TERMINATING

次の修飾子は,ルーチンを呼び出したときに何が起こるかを決定します。


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

次の修飾子は,トレースポイントに達したときにどんな出力を表示するかを決定します。


/[NO]SILENT
/[NO]SOURCE

次の修飾子は,トレースポイントのタイミングと期間を決定します。


/AFTER:n
/TEMPORARY

プログラム記憶位置の内容の変更(通常は変数の値の変更)をモニタするには,/MODIFY 修飾子を使用します。

現在ブレークポイントとして使用されている記憶位置をトレースポイントとして設定すると, ブレークポイントは取り消されます。また,逆も同様です。

トレースポイントには,ユーザが定義するものと定義済みのものとがあります。 ユーザ定義のトレースポイントとは,ユーザがSET TRACEコマンドで明示的に設定したトレースポイントです。 定義済みのトレースポイントは, デバッグするプログラムの種類(Adaあるいはマルチプロセスなど)によって異なりますが, デバッガの起動時に自動的に設定されます。現在設定されているすべてのトレースポイントを表示するには,SHOW TRACE コマンドを使用します。 定義済みのトレースポイントは定義済みのものとして表示されます。

ユーザ定義トレースポイントと定義済みトレースポイントは,それぞれ別々に設定したり取り消したりします。 たとえば,1つの記憶位置またはイベントに, ユーザ定義トレースポイントと定義済みトレースポイントの両方を設定することができます。 ユーザ定義トレースポイントを取り消しても, 定義済みトレースポイントは影響を受けません。逆も同様です。

関連コマンド


(ACTIVATE,DEACTIVATE,SHOW,CANCEL) TRACE
CANCEL ALL
GO
SET BREAK
(SET,SHOW) EVENT_FACILITY
SET STEP [NO]SOURCE
SET WATCH

  1. DBG> SET TRACE SUB3
    
    このコマンドの場合,SUB3ルーチンが実行されるとルーチンの先頭をトレースします。

  2. DBG> SET TRACE/BRANCH/CALL
    
    このコマンドの場合,プログラム実行中に検出されたすべてのBRANCH命令とCALL 命令をトレースします。

  3. DBG> SET TRACE/LINE/INTO/NOSHARE/NOSYSTEM
    
    このコマンドの場合,各ソース行の先頭をトレースします。この行には, 呼び出されたルーチン(/INTO)内の行は含まれますが,共用可能イメージ・ ルーチン(/NOSHARE)またはシステム・ルーチン(/NOSYSTEM)内の行は含まれません。

  4. DBG> SET TRACE/NOSOURCE TEST5\%LINE 14 WHEN (X .NE. 2) DO (EXAMINE Y)
    
    このコマンドの場合,Xが2ではないときTEST5モジュールの行14をトレースします。 トレースポイントではEXAMINE Yコマンドが実行されます。 /NOSOURCE修飾子が指定されているので,トレースポイントではソース・ コードは表示されません。WHEN句内の条件式の構文は言語固有です。

  5. DBG> SET TRACE/INSTRUCTION WHEN (X .NE. 0)
    
    このコマンドの場合,Xがゼロでないときにトレースします。実行中に検出されたすべての命令で条件が調べられます。WHEN 句内の条件式の構文は言語固有です。

  6. DBG> SET TRACE/SILENT SUB2 DO (SET WATCH K)
    
    このコマンドの場合,実行中にSUB2ルーチンの先頭をトレースします。トレースポイントでは,DO 句によって変数Kにウォッチポイントが設定されます。/SILENT 修飾子が指定されているので,トレースポイントを検出したとき"trace . . . " メッセージとソース・コードは表示されません。これは, 非静的変数(スタックまたはレジスタ)にウォッチポイントを設定する便利な方法です。 非静的変数は,その定義ルーチン(この例ではSUB2)がアクティブのとき( 呼び出しスタック上に存在するとき)だけ定義されます。

  7. DBG> SET TRACE/RETURN ROUT4 DO (EXAMINE X)
    
    このコマンドの場合,デバッガはROUT4ルーチンの復帰命令を(すなわち, 呼び出す側のルーチンに実行が戻る直前に)トレースします。トレースポイントでは,DO 句がEXAMINE Xコマンドを実行します。これは,非静的変数の定義ルーチンの実行が終了する直前にその変数の値を得るのに便利です。

  8. DBG> SET TRACE/EVENT=TERMINATED
    
    このコマンドの場合,いずれかのタスクがTERMINATED状態に移行するとその時点をトレースします。

SET TYPE

シンボリック名がない(および,そのために関連したコンパイラ生成型を持たない) プログラム記憶位置に関連した省略時の型を設定します。 /OVERRIDEとともに使用すると,すべての記憶位置に関連した省略時の型を設定し, コンパイラ生成型を上書きします。

フォーマット

    SET TYPE   type-keyword

パラメータ

type-keyword

設定する省略時の型を指定します。次のいずれかのキーワードを指定できます。

ASCIC 1バイトのカウント・フィールドに続く, このカウント・フィールドにより長さを指定されたASCII文字列を省略時の型と設定します。AC と入力することもできます。
ASCID 省略時の型をASCII文字列ディスクリプタに設定します。 ディスクリプタのCLASSフィールドとDTYPE フィールドはチェックされません。LENGTHフィールドとPOINTER フィールドはASCII文字の文字長さとアドレスを示します。次に文字列が表示されます。AD と入力することもできます。
ASCII:n 省略時の型をASCII 文字列(長さnバイト)に設定します。この長さは, 調べるメモリのバイト数と,表示するASCII文字数の両方を示します。 nの値を指定しないと,デバッガは省略時の値4バイトを使用します。 nの値は10進形式の基数で解釈されます。
ASCIW 2バイトのカウント・ フィールドに続く,このカウント・フィールドにより長さを指定されたASCII 文字列を省略時の型と設定します。このデータ型はPASCAL およびPL/Iの場合に指定できます。AWと入力することもできます。
ASCIZ 省略時の型を0 で終了するASCII文字列に設定します。最後の0のバイトは文字列の終わりを示します。AZ と入力することもできます。
BYTE 省略時の型をバイト整数(1バイト長)に設定します。
D_FLOAT 省略時の型をD 浮動小数点数(8バイト長)に設定します。
DATE_TIME 省略時の型を日時に設定します。これはクォドワード整数(8 バイト長)であり,日時の内部表現を含んでいます。 値は,dd-mmm-yyyy hh:mm:ss.ccの形式で表示されます。絶対日時は, 次のように指定します。
     [dd-mmm-yyyy[:]] [hh:mm:ss.cc]
EXTENDED_FLOAT (Alphaのみ)省略時の型をIFEEのX浮動小数点(16バイト長)に設定します。
FLOAT VAXプロセッサの場合,省略時の型をIFEEのF浮動小数点数(4 バイト長)に設定します。

Alphaプロセッサの場合は,省略時の型をIFEE のT浮動小数点数(8バイト長)に設定します。

G_FLOAT 省略時の型をG浮動小数点数(8バイト長) に設定します。
H_FLOAT (VAXのみ)省略時の型をH浮動小数点数(16バイト長)に設定します。
INSTRUCTION 省略時の型を命令( 可変長,使用する命令オペランドの数とアドレッシング・ モードの種類によって異なります)に設定します。
LONG_FLOAT (Alphaのみ)省略時の型をIEEE S 浮動小数点数(単精度,4バイト長)に設定します。
LONG_LONG_FLOAT (Alphaのみ)省略時の型をIEEE T 浮動小数点数(倍精度,8バイト長)に設定します。
LONGWORD 省略時の型をロングワード整数(4 バイト長)に設定します。これは,シンボリック名がない( コンパイラ生成型を持たない)プログラム記憶位置の省略時の型です。
OCTAWORD 省略時の型をオクタワード整数(16 バイト長)に設定します。
PACKED:n 省略時の型をパック10 進数に設定します。nの値は10進数字です。 各桁とも1ニブル(4ビット)を占めます。
QUADWORD 省略時の型をクォドワード整数(8 バイト長)に設定します。これは,64ビットのアプリケーションのデバッグには使用しないでください
TYPE=(expression) 省略時の型を expressionが示す型(プログラム内で宣言された変数またはデータ型の名前) に設定します。これを指定すると,アプリケーションで宣言した型を指定できます。
S_ FLOAT (Alphaのみ) LONG_FLOATと同じです。
T_FLOAT (Alphaのみ) LONG_LONG_FLOAT と同じです。
WORD 省略時の型をワード整数(2 バイト長)に設定します。
X_FLOAT (Alphaのみ) EXTENDED_FLOATと同じです。

修飾子

/OVERRIDE

シンボリック名の有無(関連したコンパイラ生成型の有無) にかかわらず,指定された型をすべてのプログラム記憶位置に関連づけます。

説明

コマンドEXAMINE,DEPOSIT,またはEVALUATEを使用すると,アドレス式の省略時の型によって, デバッガがプログラムの値を解釈し表示する方法が異なります。

デバッガは,シンボリック・アドレス式(プログラム内で宣言したシンボリック名) に対応したコンパイラ生成型を認識し,これらの記憶位置の内容を解釈して表示します。 シンボリック名を持たない(したがって関連したコンパイラ生成型を持たない) プログラム記憶位置の場合,省略時の型はどの言語でもロングワード整数で,32 ビトのアプリケーションのデバッグにも使用できます。

Alphaシステムでは,64ビットのアドレス空間を利用するアプリケーションをデバッグするには,SET TYPE QUADWORD コマンドを使用してください。

SET TYPEコマンドを使用すると,シンボリック名を持たない記憶位置の省略時の型を変更できます。 また,SET TYPE/OVERRIDEコマンドを使用すると, シンボリック名の有無にかかわらずすべてのプログラム記憶位置の省略時の型を設定できます。

EXAMINEコマンドとDEPOSITコマンドには,任意のプログラム記憶位置の型を1 つのコマンドの実行中に上書きできる型修飾子(/ASCII, /BYTE,/G_FLOATなど)があります。

関連コマンド


CANCEL TYPE/OVERRIDE
DEPOSIT
EXAMINE
(SET,SHOW,CANCEL) RADIX
(SET,SHOW,CANCEL) MODE
SHOW TYPE

  1. DBG> SET TYPE ASCII:8
    
    このコマンドは,未定義のプログラム記憶位置の省略時の型として8バイトのASCII 文字列を設定します。

  2. DBG> SET TYPE/OVERRIDE LONGWORD
    
    このコマンドは,未定義のプログラム記憶位置とコンパイラ生成型を持つプログラム記憶位置の両方の省略時の型としてロングワード整数を設定します。

  3. DBG> SET TYPE D_FLOAT
    
    このコマンドは,未定義のプログラム記憶位置の省略時の型としてD浮動小数点数を指定します。

  4. DBG> SET TYPE TYPE=(S_ARRAY)
    
    このコマンドは,未定義のプログラム記憶位置の省略時の型としてS_ ARRAY変数を設定します。

SET VECTOR_MODE (VAXのみ)

デバッガ・ベクタ・モード・オプションを許可したり,禁止したりできます。

VAXベクタ化されたプログラムにのみ適用されます。

フォーマット

    SET VECTOR_MODE   vector-mode-option

パラメータ

vector-mode-option

ベクタ・モード・オプションを指定します。次のいずれかのキーワードを指定できます。

SYNCHRONIZED ベクタ命令が実行されたら必ずスカラ型プロセッサとベクタ型プロセッサをデバッガが自動的に同期化することを指定します。 具体的には,デバッガはベクタ命令を実行するたびにそのあとでSYNC 命令を実行し,メモリにアクセスするベクタ命令を実行するたびにそのあとでMSYNC 命令を実行します。この結果,同期化されるベクタ命令に関連したすべての処理が終了します。

  • ベクタ命令によって生じた例外は,次のスカラ命令が実行される前に実行が要求されます。 保留中の例外の実行を要求すると,例外ブレークポイントまたは例外トレースポイント( 設定されている場合) が検出されるか,例外ハンドラ(プログラム内のその記憶位置で使用できる場合) が起動されます。

  • ベクタ・レジスタと,汎用レジスタまたはメモリ間の読み込み操作と書き込み操作は, 次のスカラ命令が実行される前に完了します。

SET VECTOR_MODE SYNCHRONIZEDコマンドを実行すると,SYNCコマンドやMSYNC コマンドがすぐに実行されるわけではありません。すぐに同期化するには,SYNCHRONIZE VECTOR_MODE コマンドを使用します。

NOSYNCHRONIZED 省略時の設定。デバッガの内部的目的以外では, スカラ型プロセッサとベクタ型プロセッサ間の同期化をデバッガが強制しないよう指定します。 その結果,同期化がプログラムによって完全に制御され, プログラムはデバッガの制御下にないかのように実行されます。

説明

ベクタ・モード・オプションは,デバッガがベクタ型プロセッサと対話する方法を制御します。SET VECTOR_MODE コマンドについて詳しくは, パラメータの説明を参照してください。

関連コマンド


(SHOW,SYNCHRONIZE) VECTOR_MODE

  1. DBG> SET VECTOR_MODE SYNCHRONIZED
    
    このコマンドを使用すると,ベクタ命令が実行されるたびに,そのあとでデバッガがスカラ型プロセッサとベクタ型プロセッサ間を同期化させます。

  2. DBG> SHOW VECTOR_MODE
    Vector mode is nonsynchronized
    DBG> SET VECTOR_MODE SYNCHRONIZED   【1】
    DBG> SHOW VECTOR_MODE
    Vector mode is synchronized
    DBG> STEP   【2】
    stepped to .MAIN.\SUB\%LINE 99
        99:         VVDIVD  V1,V0,V2
    DBG> STEP   【3】
    %SYSTEM-F-VARITH, vector arithmetic fault, summary=00000002,
                      mask=00000004, PC=000002E1, PSL=03C00010
    break on unhandled exception preceding .MAIN.\SUB\%LINE 100
       100:         CLRL    R0
    DBG>
    
    次の番号は上の例の番号に対応しています。
    (SHOW,SYNCHRONIZE) VECTOR_MODE
    【1】
    SET VECTOR_MODE SYNCHRONIZEDコマンドは,ベクタ命令が実行されるたびに, デバッガにスカラ型プロセッサとベクタ型プロセッサ間を自動的に同期化させます。
    【2】
    このSTEPコマンドは,VVDIVD 命令を実行する直前の行99でプログラムの実行を中断します。この例では, この命令が浮動小数点ゼロ除算例外を発生すると想定しています。
    【3】
    このSTEPコマンドはVVDIVD命令を実行し,この命令が例外を発生させます。 ベクタ例外は,デバッガが同期化ベクタ・モードで動作中であるために, すぐに実行が要求されます。

SET WATCH

アドレス式で示された記憶位置にウォッチポイントを設定します。

フォーマット

    SET WATCH   address-expression[, . . . ]
               [WHEN(conditional-expression)]
               [DO(command[; . . . ])]

パラメータ

address-expression

ウォッチポイントを設定するアドレス式(プログラム記憶位置)を指定します。 高級言語の場合,これはたいていはプログラム変数です。変数を一意に指定するパス名をいれることができます。 また,アドレス式はメモリ・ アドレスまたはレジスタの場合もあります。数字(オフセット)とシンボルで構成したり,1 つまたは複数の演算子,オペランド,または区切り文字で構成したりできます。 アドレス式で使用できる演算子についての詳しい説明は,HELP Address_Expressions をタイプしてください。

ワイルドカード文字のアスタリスク(*)は使用できません。

conditional-expression

現在設定されている言語で条件式を指定します。この式は実行がウォッチポイントに達したときに評価されます。 デバッガは,実行がウォッチポイントに達すると,WHEN 句にある式の構文をチェックします。式が真であれば, デバッガはウォッチポイントが発生したことを報告します。ブレーク・ アクション(DO句)がブレークポイントと関連付けられている場合は, 同時に発生します。式が偽の場合は報告されません。また,DO句(指定されている場合) によって指定されたコマンドは実行されず,プログラム実行が続行されます。

command

ウォッチ・アクションが実行されたときに,実行するデバッガ・コマンドをDO 句の一部として指定します。デバッガは,ウォッチポイントが設定されたときではなく,DO 句を実行したときに,DO句にある式の構文をチェックします。

修飾子

/AFTER:n

指定されたウォッチポイントがn回( nは10進整数)検出されるまで,ウォッチ・アクションを実行しないことを指定します。 それ以降は,WHEN句の条件(指定された場合) が真ならば,検出されるたびにウォッチポイントが発生します。SET WATCH /AFTER:1コマンドは,SET WATCHと同じです。

/INTO

定義ルーチン内だけでなく定義ルーチンから呼び出されたルーチン内( およびそのようにネストしたそれ以外の呼び出しから呼び出されたルーチン内) の命令もトレースすることにより,非静的変数をデバッガがモニタするよう指定します。SET WATCH/INTO コマンドを使用すると,呼び出されたルーチン内の非静的変数をSET WATCH/OVER を使用したときよりも正確にモニタできます。 ただし,呼び出されたルーチンにおける実行速度はSET WATCH/OVERの方が速くなります。

/OVER

定義ルーチンが呼び出すルーチン内でなく定義ルーチン内だけで命令のトレースを行うことによって, 非静的変数のモニタをデバッガが行うよう指定します。 その結果,デバッガは呼び出されたルーチンを通常の速度でモニタし, 定義ルーチンに実行が戻ったときだけ命令のトレースを再開します。SET WATCH/OVER コマンドはSET WATCH/INTOより実行速度が速くなります。 しかし,呼び出されたルーチンがウォッチされる変数を変更すると定義ルーチンに戻ったときだけ実行が割り込まれます。 非静的変数にウォッチポイントを設定する場合,SET WATCH/OVER が省略時の設定です。

/SILENT
/NOSILENT (省略時の設定)

"watch . . . "メッセージと,現在の記憶位置のソース行をウォッチポイントで表示するかどうかを制御します。/NOSILENT 修飾子を指定すると, メッセージが表示されます。/SILENT修飾子を指定すると,メッセージとソース行は表示されません。/SILENT 修飾子を指定すると,/SOURCEは上書きされます。

/SOURCE (省略時の設定)
/NOSOURCE

現在の記憶位置のソース行をウォッチポイントで表示するかどうかを制御します。/SOURCE 修飾子を指定すると,ソース行が表示されます。/NOSOURCE 修飾子を指定すると,ソース行は表示されません。/SILENT修飾子を指定すると,/SOURCE は上書きされます。SET STEP [NO]SOURCEコマンドも参照してください。

/STATIC
/NOSTATIC

指定された変数(ウォッチポイント記憶位置)が静的か非静的かについてのデバッガの省略時の判定を上書きすることができます。/STATIC 修飾子を指定すると,デバッガは変数がP1空間に割り当てられていても変数を静的変数として扱います。 この結果,デバッガは各命令をトレースする代わりに, 高速の書き込み保護モードを使用して記憶位置をモニタできます。/NOSTATIC 修飾子を指定すると,デバッガは変数がP0空間に割り当てられていても変数を非静的変数として扱わなければなりません。 このため,デバッガは各命令をトレースして記憶位置をモニタします。 したがって,これらの修飾子を使用する場合には, 注意が必要です。

/TEMPORARY

ウォッチポイントを検出したあとでそのウォッチポイントを消去します( ウォッチポイントを一時的に設定するときに使用します)。

説明

命令でウォッチポイント記憶位置を変更すると,デバッガは次の処理を実行します。

  1. その命令が実行を完了したあと,プログラム実行を中断する。

  2. ウォッチポイントの設定時に/AFTERを指定した場合,AFTER回数をチェックする。 指定された回数に達していないと実行が再開され, デバッガは残りのステップを実行しない。

  3. ウォッチポイントの設定時にWHEN句を指定した場合,WHEN句の式を評価する。 式の値が偽であれば実行が続行され,デバッガは残りのステップを実行しない。

  4. /SILENTを指定していなければ,実行がウォッチポイント記憶位置に達したことを報告する("watch of . . . ") 。

  5. ウォッチポイント記憶位置での古い(変更前の)値を報告する。

  6. ウォッチポイント記憶位置での新しい(変更後の)値を報告する。

  7. ウォッチポイント設定時に/NOSOURCEも/SILENTも指定しないか, またはSET STEP NOSOURCEコマンドを入力していない場合,実行を中断したソース・ コード行を表示する。

  8. ウォッチポイント設定時にDO句を指定していれば,そのDO句内のコマンドを実行する。DO 句にGOコマンドが含まれていれば実行を続行し, デバッガは次のステップを実行しない。

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

高級言語の場合,SET WATCHコマンドで指定するアドレス式はたいてい変数です。 コンパイラ生成型に対応した絶対メモリ・アドレスを指定すると, デバッガはそのアドレスをシンボル化し,その型に対応したバイト長を使用して, ウォッチポイント記憶位置のバイト長を決定します。デバッガがコンパイラ生成型と関連づけることができない絶対メモリ・ アドレスが指定されると, デバッガはアドレス式が示すバイトで始まる4バイト(省略時の設定) のメモリをモニタします。ただし,この長さは,入力をWORD (SET TYPE WORD,省略時の長さを2バイトに変更します)かBYTE (SET TYPE BYTE,省略時の長さを1バイトに変更します)に設定すれば変更できます。 SET TYPE LONGWORDを指定すると,省略時の長さは4バイトに戻ります。

集合体(すなわち,配列全体またはレコード全体)にウォッチポイントを設定できます。 この場合,配列またはレコードのいずれかの要素が変化すると, 配列またはレコードに設定したウォッチポイントが検出されます。このため, 個々の配列要素やレコードの構成要素にウォッチポイントを設定する必要はありません。 ただし,可変レコードには集合体のウォッチポイントを設定できないことに注意してください。

レコードの構成要素,個々の配列要素,配列断面(ある範囲の配列要素)にもウォッチポイントを設定できます。 この場合,配列断面内のいずれかの要素が変化すればウォッチポイントが検出されます。 ウォッチポイントは, 現在の言語の構文に従って設定します。

次の修飾子は,ウォッチポイントに達したときにどんな出力を表示するのかを決定します。


/[NO]SILENT
/[NO]SOURCE

次の修飾子は,ウォッチポイントのタイミングと期間を決定します。


/AFTER:n
/TEMPORARY

次の修飾子は非静的変数にだけ指定します。


/INTO
/OVER

次の修飾子は,デバッガによる変数が静的か非静的かの判定を上書きするのに使用します。


/[NO]STATIC


注意
VAXシステムでは,アドレスがグローバル・ セクションにある変数に設定したウォッチポイントは動作しません。 グローバル・セクション内の記憶位置にウォッチポイントを設定しようとすると,%DEBUG-E-BADWATCH メッセージが表示されます。

静的ウォッチポイントと非静的ウォッチポイント

ウォッチポイントの設定方法は変数が静的か非静的かで異なります。

静的変数はプログラムの実行中ずっと同じメモリ・アドレスに関連づけられています。 したがって,実行中は静的変数にウォッチポイントをずっと設定しておくことができます。

非静的変数は呼び出しスタックかレジスタに割り当てられ,その定義ルーチンがアクティブである場合だけ値を持ちます( 呼び出しスタック上に存在します) 。このため,定義ルーチン(定義ルーチンが呼び出した任意のルーチンを含む) の有効範囲内で実行が現在中断しているときだけ,非静的変数にウォッチポイントを設定できます。 定義ルーチンから制御が戻ると, ウォッチポイントは取り消されます。非静的変数を使用した場合,デバッガは, すべての命令をトレースしてウォッチされた変数または位置に変更があるかどうかを検出します。

静的ウォッチポイントと非静的ウォッチポイントは実行速度も異なります。 静的変数をウォッチする場合,デバッガはその変数を含むページを書き込み保護にします。 プログラムがそのページに書き込もうとすると,アクセス違反が発生しデバッガが例外を処理し, ウォッチしている変数の内容が変更されたかどうかを調べます。 そのページへの書き込みが発生しないかぎりプログラムは通常の速度で実行します。

非静的変数をウォッチするには,変数の定義ルーチン内の各命令をトレースし, 各命令実行後に変数の値を調べます。このため,実行が極めて遅くなるので, 非静的ウォッチポイントを設定すると,メッセージが発行されます。

次に説明するように,/[NO]STATIC,/INTO,/OVERを使用すれば,変数をウォッチするときに実行速度やその他の要因をある程度制御できます。

デバッガは,変数の割り当てを調べて,静的か非静的かを判断します。通常, 静的変数はP0空間(0から3FFFFFFF,16進数)に,非静的変数はP1空間(40000000 から7FFFFFFF)またはレジスタに割り当てられます。定義ルーチンの有効範囲内で現在実行が中断していないときに,P1 空間またはレジスタに割り当てられた変数にウォッチポイントを設定しようとすると, デバッガは警告を出力します。

/[NO]STATIC修飾子を指定すると,この省略時の動作を上書きできます。 たとえば,P1空間に非スタック記憶を割り当てた場合,その記憶領域に割り当てられた変数にウォッチポイントを設定するときには/STATIC を使用します。 こうすれば,デバッガは各命令をトレースする代わりにもっと高速の書き込み保護による記憶位置のウォッチ方法を使用できます。 たとえば, 逆にP0空間にユーザの呼び出しスタックを割り当てた場合,呼び出しスタックに割り当てられた変数にウォッチポイントを設定するときには,/NOSTATIC を使用します。こうすれば,デバッガはウォッチポイントを非静的ウォッチポイントとして扱うことができます。

/INTOおよび/OVERを使用すれば,呼び出されたルーチン内の非静的ウォッチポイントの実行速度も制御できます。

AlphaおよびVAXプロセッサの両方で,静的ウォッチポイントと非静的ウォッチポイントの両方が使用できます。 静的ウォッチポイントを使用した場合, デバッガは,ウォッチする変数が保存されているメモリのページを書き込み保護します。 このため,デバッガのシステム・サービス割り込み(SSI) のためでなければ,静的ウォッチポイントは,システム・サービス自体とインタフェースをとります。

静的ウォッチポイントが有効な場合,システム・サービス割り込みを通して, システム・サービス呼び出しの前にデバッガは,静的ウォッチポイント, 非同期トラップ(AST),およびスレッド・スイッチを非アクティブにします。 デバッガは,システム・サービス呼び出しが完了するとすぐに, ウォッチポイント,使用可能なAST,スレッド・スイッチを元の状態に戻し, 最後にウォッチポイントのヒットをチェックします。この動作は,ウォッチポイントが非アクティブにされても, システム・サービスが通常どおりに動作し( 書き込み保護のページなし),ASTコードまたは異なるスレッドが, ウォッチポイントする位置に変更の可能性がないように設計されています。 お使いのアプリケーションでASTが使用可能かどうかをテストする場合などは, この動作に気をつけてください。

システム・サービスがsystem service interception (SSI)機能(OpenVMS VAXシステムではDBGSSISHR,OpenVMS AlphaシステムではSYS$SSISHR)でサポートされない場合, アクティブな静的ウォッチポイントが検出されると, システム・サービスは異常終了し,ほとんどの場合,ACCVIO状態になります。SYS$PUBLIC_VECTORS に存在しないシステム・サービスはSSI でサポートされません。これにはユーザ作成システム・サービス(UWSS) や,$MOUNTなどのロード可能なシステム・サービスも含まれます。

静的ウォッチポイントがアクティブな場合には,デバッガはウォッチされる変数を含むページを書き込み禁止にします。SSI でサポートされないシステム・ サービス呼び出しは,ユーザ・メモリのそのページに書き込もうとしたときに, 異常終了します。

この問題を回避するには,次のいずれかの処理を実行してください。

システム・サービス・ルーチンの途中でウォッチしている記憶位置が変化した場合には, 通常と同様に,ウォッチポイントが発生したことが通知されます。 非常にまれですが,スタックでユーザ・プログラムのフレームの上に1 つ以上のデバッガ・フレームが表示されることがあります。この問題を回避するには,1 つ以上のSTEP/RETURNコマンドを入力して,プログラムに戻ります。

省略時の設定では,system service interception (SSI)はオンですが, Alphaプロセッサの場合のみ,次のコマンドを使用して,デバッグ・ セッションの前にインターセプションを無効に設定できます。

     $  DEFINE SSI$AUTO_ACTIVATE OFF

system service interception (SSI)を再度有効にするには,次のいずれかのコマンドを使用します。

     $  DEFINE SSI$AUTO_ACTIVATE ON
     $  DEASSIGN SSI$AUTO_ACTIVATE

グローバル・セクション・ウォッチポイント(Alphaのみ)

Alphaプロセッサでは,グローバル・セクションの変数または任意のプログラム記憶位置にウォッチポイントを設定できます。 グローバル・セクションとは,マルチプロセス・プログラムのすべてのプロセスで共用されるメモリ領域です。 グローバル・セクション内の記憶位置に設定されたウォッチポイント( グローバル・セクション・ウォッチポイント) は,プロセスがその記憶位置の内容を変更したときに起動されます。

グローバル・セクション・ウォッチポイントは,静的変数にウォッチポイントを設定するときと同じ方法で設定します。 しかし,デバッガがグローバル・ セクション・ウォッチポイントをモニタする方法により,次の点に注意する必要があります。 ウォッチポイントを配列またはレコードに設定する場合には,SET WATCH コマンドを使用して構造体全体を指定するより, 個々の要素を指定する方が性能を向上できます。

グローバル・セクションにまだマッピングされていない記憶位置にウォッチポイントを設定すると, そのウォッチポイントは通常の静的ウォッチポイントとして取り扱われます。 そのあとで記憶位置がグローバル・セクションにマッピングされると, ウォッチポイントは自動的にグローバル・セクション・ ウォッチポイントとして取り扱われるようになり,情報メッセージが出力されます。 その後,ウォッチポイントはマルチプロセス・プログラムの各プロセスから確認できます。

関連コマンド


(ACTIVATE,DEACTIVATE,SHOW,CANCEL) WATCH
MONITOR
SET BREAK
SET STEP [NO]SOURCE
SET TRACE

  1. DBG> SET WATCH MAXCOUNT
    
    このコマンドは変数MAXCOUNTにウォッチポイントを設定します。

  2. DBG> SET WATCH ARR
    DBG> GO
         . . .
    watch of SUBR\ARR at SUBR\%LINE 12+8
       old value:
        (1):         7
        (2):         12
        (3):         3
       new value:
        (1):         7
        (2):         12
        (3):         28
    
    break at SUBR\%LINE 14
    DBG>
    
    この例では,SET WATCHコマンドが3つの要素を持つ整数の配列ARRにウォッチポイントを設定します。GO コマンドで実行を再開します。いずれかの配列要素の内容が変化するとウォッチポイントが検出されます。 この例では,3 番目の要素が変化しています。

  3. DBG> SET WATCH ARR(3)
    
    このコマンドはARR配列(Fortran配列構文)の要素3にウォッチポイントを設定します。 要素3が変化するとウォッチポイントが検出されます。

  4. DBG> SET WATCH P_ARR[3:5]
    
    このコマンドは,P_ARR配列(Pascal配列構文)の要素3〜5で構成される配列断面にウォッチポイントを設定します。 これらの要素のどれかが変化するとウォッチポイントが検出されます。

  5. DBG> SET WATCH P_ARR[3]:P_ARR[5]
    
    このコマンドは,P_ARR配列の要素3〜5のそれぞれに,個別にウォッチポイントを設定します(Pascal 配列構文)。ターゲット要素が変化すると,各ウォッチポイントが起動されます。

  6. DBG> SET TRACE/SILENT SUB2 DO (SET WATCH K)
    
    この例では,変数Kは非静的変数であり,その定義ルーチンSUB2(スタック上に存在します) がアクティブのときだけ定義されます。SET TRACEはSUB2 にトレースポイントを設定します。実行中にトレースポイントが検出されると,DO 句はKにウォッチポイントを設定します。SUB2ルーチンから制御が戻るとウォッチポイントは取り消されます。/SILENT 修飾子が指定されているので, トレースポイントを検出したときの"trace . . . "メッセージとソース・ コードは表示されません。

  7. DBG_1> SET WATCH ARR(1)
    DBG_1> SHOW WATCH
    watchpoint of PPL3\ARR(1)
    DBG_1> GO
    %DEBUG-I-WATVARNOWGBL, watched variable PPL3\ARR(1)
         has been remapped to a global section
    predefined trace on activation at routine PPL3 in %PROCESS_NUMBER 2
    predefined trace on activation at routine PPL3 in %PROCESS_NUMBER 3
    watch of PPL3\ARR(1) at PPL3\%LINE 93 in %PROCESS_NUMBER 2
        93:             ARR(1) = INDEX
       old value: 0
       new value: 1
    break at PPL3\%LINE 94 in %PROCESS_NUMBER 2
       94:              ARR(I) = I
    DBG_2> DO (SHOW WATCH)
    For %PROCESS_NUMBER 1
      watchpoint of PPL3\ARR(1) [global-section watchpoint]
    For %PROCESS_NUMBER 2
      watchpoint of PPL3\ARR(1) [global-section watchpoint]
    For %PROCESS_NUMBER 3
      watchpoint of PPL3\ARR(1) [global-section watchpoint]
    DBG_2>
    
    このグローバル・セクション・ウォッチポイントのVAX例では,SET WATCH コマンドがARR配列の要素1にウォッチポイントを設定します。ARRはグローバル・ セクションにマップされていないので,SHOW WATCHコマンドはこのウォッチポイントを従来の静的ウォッチポイントとして識別します。

    GOコマンドで実行を再開すると,ARRは再度グローバル・セクションにマップされます。 ウォッチポイントは自動的にグローバル・セクション・ ウォッチポイントとして扱われます。

    プロセス2と3がデバッガの制御下に置かれると,ウォッチポイントはプロセス2 で検出され,実行に割り込みがかけられます。 この時点で,SHOW WATCHコマンドはウォッチポイントが各プロセスで設定されていることを確認します。

SET WINDOW

画面ウィンドウ定義を作成します。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

    SET WINDOW   window-name
                AT (start-line,line-count
                [,start-column,column-count])

パラメータ

window-name

定義するウィンドウの名前を指定します。その名前を持つウィンドウ定義がすでに存在するときには, 古い定義は取り消され新しい定義が有効になります。

start-line

ウィンドウの開始行番号を指定します。この行はウィンドウの表題またはヘッダ行を表示します。 画面の最上行は行1です。

line-count

ウィンドウのテキスト行の数を指定します。ヘッダ行は計算にいれません。 この値の最小値は1です。start-lineとline-countの合計は現在の画面の高さを超えてはなりません。

start-column

ウィンドウの開始欄番号を指定します。これは,ウィンドウの最初の文字が表示される欄のことです。 画面の最も左の欄は欄1です。

column-count

ウィンドウの行当たりの文字数を指定します。最小値は1です。start-column とcolumn-countの合計が現在の画面幅を超えてはなりません。

説明

画面ウィンドウは端末画面上の長方形の領域で,これを通して表示を見ることができます。SET WINDOW コマンドはウィンドウ名と画面領域とを関連づけることによってウィンドウ定義を設定します。 画面領域は,開始行と高さ( 行数)で定義しますが,オプションで開始欄と幅(欄数)を指定します。 開始欄と欄数を指定しないと,省略時の設定により欄1と現在の画面幅に設定されます。

組み込みシンボル%PAGEと%WIDTHを使用した式でウィンドウ領域を指定することもできます。

SET WINDOWコマンドで定義したウィンドウの名前をDISPLAYコマンドで使用して画面上の表示位置を指定することもできます。

ウィンドウ定義は動的に行われます。すなわち,SET TERMINALコマンドで端末の幅と高さを変更すると, それに比例してウィンドウのサイズも拡大または縮小します。

関連コマンド


DISPLAY
(SHOW,CANCEL) DISPLAY
(SET,SHOW) TERMINAL
(SHOW,CANCEL) WINDOW

  1. DBG> SET WINDOW ONELINE AT (1,1)
    
    このコマンドは画面の最上部にONELINEという名前のウィンドウを定義します。 このウィンドウの高さは1行であり,幅は省略時の設定によって画面の幅に設定されます。

  2. DBG> SET WINDOW MIDDLE AT (9,4,30,20)
    
    このコマンドは画面の中央にMIDDLEという名前のウィンドウを定義します。 このウィンドウは行9から開始して4行の高さであり,欄30から開始して20 欄の幅に設定されます。

  3. DBG> SET WINDOW FLEX AT (%PAGE/4,%PAGE/2,%WIDTH/4,%WIDTH/2)
    
    このコマンドは画面の中央を付近にFLEXという名前のウィンドウを定義します。 このウィンドウは現在の画面の高さ(%PAGE)と幅(%WIDTH)に定義されます。

SHOW ABORT_KEY

デバッガ・コマンドの実行を強制終了するか,またはプログラムの実行に割り込みをかける機能として現在定義されているCtrl キー・シーケンスを示します。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

    SHOW ABORT_KEY

説明

省略時の設定では,デバッグ・セッション中にCtrl/Cを入力すると, デバッガ・コマンドの実行が強制終了され,プログラムの実行に割り込みがかかります。SET ABORT_KEY コマンドを使用して,この強制終了機能を他のCtrl キー・シーケンスに割り当てることができます。SHOW ABORT_KEYコマンドは強制終了機能として現在有効になっているCtrlキー・ シーケンスを示します。

関連コマンド


Ctrl/C
SET ABORT_KEY

    DBG> SHOW ABORT_KEY
    Abort Command Key is CTRL_C
    DBG> SET ABORT_KEY = CTRL_P
    DBG> SHOW ABORT_KEY
    Abort Command Key is CTRL_P
    DBG>
    
    この例では,最初のSHOW ABORT_KEYコマンドは省略時の強制終了コマンドのキー・ シーケンスであるCtrl/Cを示します。SET ABORT_KEY = CTRL_Pコマンドは強制終了コマンド機能をCtrl/P に割り当て,2番目のSHOW ABORT_ KEYコマンドがそれを確認します。

SHOW AST

AST (asynchronous system traps) の実行要求が許可されているか,禁止されているかを示します。

フォーマット

    SHOW AST

説明

SHOW ASTコマンドはASTの実行要求が許可されているか,禁止されているかを示します。 このコマンドは実行要求が保留中になっているAST は示しません。ASTの実行要求は省略時の設定は許可です。または, ENABLE ASTコマンドを使用して許可します。ASTの実行要求を禁止するにはDISABLE AST コマンドを使用します。

関連コマンド


(ENABLE,DISABLE) AST

    DBG> SHOW AST
    ASTs are enabled
    DBG> DISABLE AST
    DBG> SHOW AST
    ASTs are disabled
    DBG>
    
    SHOW ASTコマンドはASTの実行要求が許可されているかどうかを示します。

SHOW ATSIGN

SET ATSIGNコマンドで設定した省略時のファイル指定を示します。デバッガは@ ( 実行プロシージャ)コマンドの処理中にこのファイル指定を使用します。

フォーマット

    SHOW ATSIGN

説明

関連コマンド
@ (実行プロシージャ)
SET ATSIGN

  1. DBG> SHOW ATSIGN
    No indirect command file default in effect, using DEBUG.COM
    DBG>
    
    この例は,SET ATSIGNコマンドを使用していなかった場合,デバッガがコマンド・ プロシージャの省略時のファイル指定としてSYS$DISK:[]DEBUG.COM を使用することを示します。

  2. DBG> SET ATSIGN USER:[JONES.DEBUG].DBG
    DBG> SHOW ATSIGN
    Indirect command file default is USER:[JONES.DEBUG].DBG
    DBG>
    
    この例では,SHOW ATSIGNコマンドはコマンド・プロシージャの省略時のファイル指定を示しています。 それは以前にSET ATSIGNコマンドで設定されたものです。

SHOW BREAK

ブレークポイントに関する情報を表示します。

フォーマット

    SHOW BREAK

修飾子

/PREDEFINED

定義済みブレークポイントに関する情報を表示します。

/USER

ユーザ定義ブレークポイントに関する情報を表示します。

説明

SHOW BREAKコマンドはWHEN句やDO句,/AFTERの数などのオプションも含めて, 現在設定されているブレークポイントに関する情報と,ブレークポイントが無効になっているかどうかを表示します。

省略時の設定では,SHOW BREAKはユーザ定義ブレークポイントと定義済みブレークポイントの両方( ただし,存在する場合)に関する情報を表示します。 これはSHOW BREAK/USER/PREDEFINEDコマンドを入力した場合と同じです。 ユーザ定義ブレークポイントはSET BREAKコマンドで設定されます。 定義済みブレークポイントは,デバッガを起動すると自動的に設定され, デバッグの対象になっているプログラムの種類によって異なります。

SET BREAK/AFTER:nを使用してブレークポイントを設定した場合,SHOW BREAK コマンドは10進整数nの現在の値,つまり最初に指定された整数値から, ブレークポイント記憶位置に到達するたびに1 を引いた値を表示します(デバッガはnの値が0になるまでブレークポイント記憶位置に到達するたびに nを減少させていきます。0 になると,デバッガはブレーク動作を取ります)。

Alphaシステムの場合,ブレークが命令の特定のクラスにあっても,SHOW BREAKコマンドは,個々の命令(SET BREAK/CALLまたはSET BREAK/RETURNと同様) は表示しません。

関連コマンド


(ACTIVATE,CANCEL,DEACTIVATE,SET) BREAK

  1. DBG> SHOW BREAK
    breakpoint at SUB1\LOOP
    breakpoint at MAIN\MAIN+1F
       do (EX SUB1\D ; EX/SYMBOLIC PSL; GO)
    breakpoint at routine SUB2\SUB2
       /after: 2
    DBG>
    
    SHOW BREAKコマンドは現在設定されているすべてのブレークポイントを示します。 この例は,実行がそれぞれSUB1\LOOP,MAIN\MAIN,SUB2\SUB2に到達すると必ず検出されるユーザ定義ブレークポイントを示します。

  2. DBG> SHOW BREAK/PREDEFINED
    predefined breakpoint on Ada event "DEPENDENTS_EXCEPTION"
       for any value
    predefined breakpoint on Ada event "EXCEPTION_TERMINATED"
       for any value
    DBG>
    
    このコマンドは現在設定されている定義済みブレークポイントを示します。 この例では,2つの定義済みブレークポイントが表示されていて,その2 つはAdaタスキング例外イベントに対応しています。これらのブレークポイントはすべてのAda プログラムに対してとAdaモジュールにリンクされている混合言語プログラムに対して自動的にデバッガによって設定されます。

SHOW CALLS

現在アクティブなルーチン呼び出しを示します。

フォーマット

    SHOW CALLS   [integer]

パラメータ

integer

表示するルーチンの数を指定する10進整数。このパラメータを省略すると, デバッガはデバッガ内に関係する情報があるすべてのルーチン呼び出しを示します。

説明

SHOW CALLSコマンドは実行が現在中断されているルーチンの呼び出されているとなっているアクティブなルーチン呼び出しの手順をリストするトレースバックを表示します。 再帰ルーチン呼び出しはすべて表示されるため,SHOW CALLS コマンドを使用して再帰のチェインをチェックできます。

SHOW CALLSは最新の呼び出しを先頭として,呼び出しスタック上の呼び出しフレーム1 つにつき1行の情報を表示します。最上行は現在実行中のルーチンを示し,2 行目はその呼び出し元,3行目は呼び出し元の呼び出し元を示すというようになります。

プログラムにルーチン呼び出しがない場合でも,SHOW CALLSコマンドはアクティブな呼び出しを表示します。 これは,最初に起動されるとき,プログラムにはそのプログラム用のスタック・ フレームが作成されるためです。 したがって,SHOW CALLSがアクティブな呼び出しを表示しない場合, その原因はプログラムが終了しているか,呼び出しスタックが破損しているかのいずれかです。

VAXプロセッサでは,ルーチン呼び出しの手順は呼び出しスタック上の呼び出しフレームの手順に対応します。 プログラムの実行時にルーチンへの呼び出しが行われると, 必ずオペレーティング・ システムは呼び出しスタック上に別の呼び出しフレームを作成します。 各呼び出しフレームは呼び出し元ルーチンに関する情報,たとえば, SHOW CALLSコマンドでモジュールとルーチンの情報をシンボル化できるようにするPC 値を格納します。

Alphaプロセッサでは,ルーチン呼び出しは, スタック・フレーム・プロシージャ(スタック上に呼び出しフレームが作成される) ,レジスタ・フレーム・プロシージャ(呼び出しフレームがレジスタ・ セットに格納される),空フレーム・プロシージャ(呼び出しフレームのない) となる可能性があります。SHOW CALLSは,1行の情報を3つのプロシージャすべてに提供します。 スタック・フレーム・プロシージャ,レジスタ・ フレーム・プロシージャ,および空フレーム・プロシージャです( 次のAlpha例を参照)。

SHOW CALLSが示す行ごとに次の情報が提供されます。

Alphaプロセッサでは,SHOW CALLSコマンドの出力には, プログラムに関連付けられたユーザ呼び出しフレームの他に, システム呼び出しフレームも含まれることがあります。システム呼び出しフレームが含まれるのは, 次の場合です。

システム呼び出しフレームが表示されても,問題を示すわけではありません。

関連コマンド


SHOW SCOPE
SHOW STACK

  1. DBG> SHOW CALLS
    module name   routine name   line      rel PC      abs PC
    
     SUB2         SUB2                    00000002    0000085A
    *SUB1         SUB1              5     00000014    00000854
    *MAIN         MAIN             10     0000002C    0000082C
    DBG>
    
    このコマンドはVAXシステム上の現在アクティブなプロシージャ呼び出しの手順に関する情報を表示します。

  2. DBG> SHOW CALLS
     module name   routine name     line          rel PC           abs PC
    *MAIN           FFFF             31      00000000000002B8 00000000000203C4
    -the above appears to be a null frame in the same scope as the frame below
    *MAIN           MAIN             13      00000000000000A8 00000000000200A8
                                             0000000000000000 FFFFFFFF8255A1F8
    
    この例は,Alphaシステム上にあります。ルーチン・セクションのプロローグおよびエピローグが空フレームとなるデバッガに表示されることに注意してください。 フレーム・ポインタ(FP)内の変化前のプロローグ部分およびフレーム・ ポインタ(FP)の回復後のエピローグ部分は,それぞれ空フレームのように見えるため, 空フレームと報告されます。

SHOW DEFINE

DEFINEコマンドに対して現在有効になっている省略時の値(/ADDRESS, /COMMAND,/PROCESS_GROUP,または/VALUE)を指定します。

フォーマット

    SHOW DEFINE

説明

DEFINEコマンドの省略時の修飾子は前回SET DEFINEコマンドで設定された修飾子です。SET DEFINE コマンドを入力していなかった場合には, 省略時の修飾子として/ADDRESSが使用されます。

DEFINEコマンドで定義されたシンボルを示すには,SHOW SYMBOL/DEFINED コマンドを使用します。

関連コマンド


DEFINE
DEFINE/PROCESS_GROUP
DELETE
SET DEFINE
SHOW SYMBOL/DEFINED

    DBG> SHOW DEFINE
    Current setting is: DEFINE/ADDRESS
    DBG>
    
    このコマンドはDEFINEコマンドがアドレスによって定義されるように設定されていることを通知します。

SHOW DISPLAY

1つまたは複数の既存の画面ディスプレイを示します。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

    SHOW DISPLAY   [display-name[, . . . ]]

パラメータ

display-name

ディスプレイの名前を指定します。名前を指定しない場合またはワイルドカード文字のアスタリスク(*) をそれだけで指定する場合,すべてのディスプレイ定義がリストされます。 ディスプレイ名の中ではワイルドカードを使用できます。/A L 修飾子を指定する場合,ディスプレイ名は指定できません。

修飾子

/ALL

すべてのディスプレイ定義をリストします。

/SUFFIX[=process-identifier-type]

マルチプロセス・デバッグ構成の場合(DBG$PROCESSの値がMULTIPROCESS の場合)に指定できます。プロセスを識別する接尾辞がディスプレイ名に付きます。 この修飾子は,ディスプレイ名の直後に指定してください。 コマンドが実行された時点での可視プロセスが接尾辞に示されます。

/SUFFIX修飾子は,ディスプレイ定義またはディスプレイ定義に関連したキー・ 定義を指定する場合のコマンド・プロシージャで主に使用されます。

process-identifier-typeには次のいずれかのキー・ワードを指定できます。

PROCESS_NAME ディスプレイ名の後ろにプロセス名が付きます。
PROCESS_ NUMBER ディスプレイ名の後ろにプロセス番号(SHOW PROCESSコマンドの実行で表示される番号)が付きます。
PROCESS_PID ディスプレイ名の後ろにプロセス識別子(PID) が付きます。

/SUFFIXのあとにprocess-identifier-typeキー・ワードを指定しないと, プロンプトの接尾辞がディスプレイ名の接尾辞の省略時の値として使用されます(SET PROMPT/SUFFIX コマンドを参照してください) 。

説明

SHOW DISPLAYコマンドはディスプレイ・リストでの順番に従ってすべてのディスプレイをリストします。 ディスプレイ・ペーストボードの一番下になっているディスプレイが最初にリストされ, ディスプレイ・ペーストボードの一番上にあるディスプレイが最後にリストされます。

1つのディスプレイにつき,SHOW DISPLAYコマンドはその名前,最大サイズ, 画面ウィンドウ,表示対象(デバッグ・コマンド・リストも含めて)をリストします。 また,ディスプレイをペーストボードから削除するか,動的なものにするか( 画面サイズがSET TERMINALコマンドで変更された場合に, 動的ディスプレイは自動的にそのウィンドウ寸法を調整する)も示します。

関連コマンド


DISPLAY
EXTRACT/SCREEN_LAYOUT
(CANCEL) DISPLAY
(SET,CANCEL,SHOW) WINDOW
SHOW SELECT

    DBG> SHOW DISPLAY
    display SRC at H1, size = 64, dynamic
        kind = SOURCE (EXAMINE/SOURCE .%SOURCE_SCOPE\%PC)
    display INST at H1, size = 64, removed, dynamic
        kind = INSTRUCTION (EXAMINE/INSTRUCTION .0\%PC)
    display REG at RH1, size = 64, removed, dynamic, kind = REGISTER
    display OUT at S45, size = 100, dynamic, kind = OUTPUT
    display EXSUM at Q3, size = 64, dynamic, kind = DO (EXAMINE SUM)
    display PROMPT at S6, size = 64, dynamic, kind = PROGRAM
    DBG>
    
    SHOW DISPLAYコマンドは現在定義されているディスプレイをすべてリストします。 この例では,ディスプレイの中には,定義済みディスプレイが5 つ(SRC,INST,REG,OUT,PROMPT)とユーザ定義DOディスプレイのEXSUMが含まれています。 ディスプレイINSTとREGはディスプレイ・ペーストボードから削除されます。 それらを画面上に表示するにはDISPLAYコマンドを使用しなければなりません。

SHOW EDITOR

SET EDITORコマンドで設定された,EDITコマンドが取る処置を示します。

フォーマット

    SHOW EDITOR

説明

関連コマンド
EDIT
SET EDITOR

  1. DBG> SHOW EDITOR
    The editor is SPAWNed, with command line
        "EDT/START_POSITION=(n,1)"
    DBG>
    
    この例では,EDITコマンドはサブプロセスでEDTエディタを作成します。 コマンド行に付けられた/START_POSITION修飾子は,初期状態では編集カーソルをデバッガの現在のソース表示の中央の行の先頭に置くことを表します。

  2. DBG> SET EDITOR/CALLABLE_TPU
    DBG> SHOW EDITOR
    The editor is CALLABLE_TPU, with command line "TPU"
    DBG>
    
    この例では,SHOW EDITORコマンドはEDITコマンドがDEC Text Processing ユーティリティ(DECTPU)の呼び出し可能バージョンを起動することを表します。 編集カーソルは初期状態ではソース行1の先頭に置かれます。

SHOW EVENT_FACILITY

現在のイベント機能と対応するイベント名を示します。

イベント機能はAdaルーチンを呼び出すプログラムか,またはDECthreadsサービスを使用するプログラムの場合に使用できます。VAX プロセッサでは,イベント機能はSCAN ルーチンを呼び出すプログラムの場合にも使用できます

フォーマット

    SHOW EVENT_FACILITY

説明

現在のイベント機能(ADA,THREADSまたはSCAN)はSET BREAK/EVENTコマンドとSET TRACE/EVENT コマンドで設定できるイベントポイントを定義します。

SHOW EVENT_FACILITYコマンドは現在のイベント機能に対応するイベント名を示します。 それらのイベント名は(SET,CANCEL) BREAK/EVENTコマンドと(SET,CANCEL) TRACE/EVENT コマンドで指定できるキーワードです。

関連コマンド


(SET,CANCEL) BREAK/EVENT
SET EVENT_FACILITY
(SET,CANCEL) TRACE/EVENT
SHOW BREAK
SHOW TASK
SHOW TRACE

    DBG> SHOW EVENT_FACILITY
    event facility is THREADS
         . . .
    
    このコマンドは現在のイベント機能がTHREADS(DECthreads)であることを示し, それに対応する,SET BREAK /EVENTコマンドまたはTRACE/EVENTコマンドで使用できるイベント名をリストします。

SHOW EXIT_HANDLERS

プログラムで宣言されている終了ハンドラを示します。

フォーマット

    SHOW EXIT_HANDLERS

説明

終了ハンドラ・ルーチンが呼び出された順番(つまり,後入れ先出し法) で表示されます。ルーチン名は可能な場合にはシンボルで表示されます。 そうでない場合には,そのアドレスが表示されます。デバッガの終了ハンドラは表示されません。

    DBG> SHOW EXIT_HANDLERS
    exit handler at STACKS\CLEANUP
    DBG>
    
    このコマンドは終了ハンドラ・ルーチンのCLEANUPを示します。CLEANUPはモジュールSTACKS で宣言されています。

SHOW IMAGE

実行中のプログラムの一部になっている1つまたは複数のイメージに関する情報を表示します。

フォーマット

    SHOW IMAGE   [image-name]

パラメータ

image-name

表示にいれるイメージの名前を指定します。名前を指定しない場合またはワイルドカード文字のアスタリスク(*) をそれだけで指定する場合, すべてのイメージがリストされます。イメージ名の中に*を使用できます。

説明

SHOW IMAGEコマンドは次の情報を表示します。

SHOW IMAGEは/RESIDENT修飾子を使用してインストールされているイメージのメモリ範囲すべてを表示するわけではありません。 代わりに,このコマンドはプロセス・ データ・リージョンだけを表示します。

関連コマンド


(SET,CANCEL) IMAGE
(SET,SHOW,CANCEL) MODULE

    DBG> SHOW IMAGE SHARE*
     image name            set    base address    end address
    
    *SHARE                 yes    00000200        00000FFF
     SHARE1                no     00001000        000017FF
     SHARE2                yes    00018C00        000191FF
     SHARE3                no     00019200        000195FF
     SHARE4                no     00019600        0001B7FF
    
     total images: 5       bytes allocated: 33032
    DBG>
    
    このSHOW IMAGEコマンドは名前がSHAREで始まり,プログラムに対応づけられているイメージすべてを示します。SHARE とSHARE2のイメージは設定されています。 アスタリスク(*)はSHAREを現在のイメージとして示します。

SHOW KEY

デバッガの定義済みキー定義とDEFINE/KEYコマンドで作成されたキー定義を表示します。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

    SHOW KEY   [key-name]

パラメータ

key-name

その定義を表示するファンクション・キーを指定します。ワイルドカード文字のアスタリスク(*) は使用できません。代わりに/ALL修飾子を使用してください。/ALL または/DIRECTORYを指定する場合は,キー名は指定できません。 有効なキー名は次のとおりです。

キー名 LK201キーボード VT100型 VT52型
PF1 PF1 PF1 Blue
PF2 PF2 PF2 Red
PF3 PF3 PF3 Black
PF4 PF4 PF4
KP0-KP9 キーパッド0〜9 キーパッド0〜9 キーパッド0〜9
PERIOD キーパッドのピリオド(.) キーパッドのピリオド(.)
COMMA キーパッドのコンマ(,) キーパッドのコンマ(,)
MINUS キーパッドのマイナス(-) キーパッドのマイナス(-)
MINUS キーパッドのマイナス(-) キーパッドのマイナス(-)
ENTER Enter ENTER ENTER
E1 Find

E2 Insert Here

E3 Remove

E4 Select

E5 Prev Screen

E6 Next Screen

HELP Help

DO Do

F6-F20 F6-F20

修飾子

/ALL

省略時の設定では現在の状態に対するすべてのキー定義を表示し, そうでない場合には/STATEで指定された状態に対するすべてのキー定義を表示します。

/BRIEF

キー定義だけを表示します(省略時の設定では,指定された状態も含めて, キー定義に対応するすべての修飾子も表示されます)。

/DIRECTORY

対応するキーが定義されているすべての状態の名前を表示します。 この修飾子を指定する場合,他の修飾子は指定できません。

/STATE=(state-name [, . . . ])
/NOSTATE (省略時の設定)

対応するキー定義が表示される1つまたは複数の状態を選択します。/STATE 修飾子を指定すると,指定された状態に対するキー定義を表示します。DEFAULT やGOLDなどの定義済みキー状態,またはユーザ定義状態を指定できます。 状態名には任意の適切な英数字文字列を指定できます。/NOSTATE 修飾子を指定すると,現在の状態に対するキー定義だけが表示されます。

説明

このコマンドを使用するには,その前にキーパッド・モードが有効(SET MODE KEYPAD) に設定されていなければなりません。省略時の設定では, キーパッド・モードは有効になっています。

省略時の設定では,現在のキー状態はDEFAULT状態です。SET KEY/STATE コマンドを使用するか,または状態を変更するキー(つまり,DEFINE/KEY /LOCK_STATEまたは/SET_STATEで定義されたキー)を押すことにより現在の状態を変更できます。

関連コマンド


DEFINE/KEY
DELETE/KEY
SET KEY

  1. DBG> SHOW KEY/ALL
    
    このコマンドは現在の状態に対するすべてのキー定義を表示します。

  2. DBG> SHOW KEY/STATE=BLUE KP8
    GOLD keypad definitions:
      KP8 = "Scroll/Top" (noecho,terminate,nolock)
    DBG>
    
    このコマンドはBLUE状態のキーパッド・キー8の定義を表示します。

  3. DBG> SHOW KEY/BRIEF KP8
    DEFAULT keypad definitions:
      KP8 = "Scroll/Up"
    DBG>
    
    このコマンドは現在の状態のキーパッド・キー8の定義を表示します。

  4. DBG> SHOW KEY/DIRECTORY
    MOVE_GOLD
    MOVE_BLUE
    MOVE
    GOLD
    EXPAND_GOLD
    EXPAND_BLUE
    EXPAND
    DEFAULT
    CONTRACT_GOLD
    CONTRACT_BLUE
    CONTRACT
    BLUE
    DBG>
    
    このコマンドは対応するキーが定義されている状態の名前を表示します。

SHOW LANGUAGE

現在の言語を示します。

フォーマット

    SHOW LANGUAGE

説明

現在の言語は前回SET LANGUAGEコマンドで設定された言語です。SET LANGUAGEコマンドを入力しなかった場合,省略時の設定では現在の言語はメイン・ プログラムを含んでいるモジュールの言語です。

関連コマンド


SET LANGUAGE

    DBG> SHOW LANGUAGE
    language: BASIC
    DBG>
    
    このコマンドは現在の言語の名前をBASICと表示します。

SHOW LOG

デバッガがログ・ファイルに書き込みを行っているのかどうかを示し,現在のログ・ ファイルを示します。

フォーマット

    SHOW LOG

説明

現在のログ・ファイルは前回SET LOGコマンドで設定されたログ・ファイルです。 省略時の設定では,SET LOGコマンドを入力していなかった場合, 現在のログ・ファイルはSYS$DISK:[]DEBUG.LOGファイルになります。

関連コマンド


SET LOG
SET OUTPUT [NO]LOG
SET OUTPUT [NO]SCREEN_LOG

  1. DBG> SHOW LOG
    not logging to DEBUG.LOG
    DBG>
    
    このコマンドは現在のログ・ファイルの名前をDEBUG.LOG (省略時のログ・ ファイル)と表示し,デバッガがそのファイルに書き込みを行っていないことを通知します。

  2. DBG> SET LOG PROG4
    DBG> SET OUTPUT LOG
    DBG> SHOW LOG
    logging to USER$:[JONES.WORK]PROG4.LOG
    DBG>
    
    この例では,SET LOGコマンドは現在のログ・ファイルが(現在の省略時のディレクトリにある) PROG4.LOG であることを設定します。SET OUTPUT LOGコマンドを実行すると,デバッガはそのファイルにデバッガの入出力を記録します。SHOW LOG コマンドはデバッガが現在の省略時のディレクトリにあるログ・ ファイルPROG4.COMに書き込み中であることを確認します。

SHOW MARGINS

ソース・コードを表示するための現在のソース行のマージン設定を示します。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

    SHOW MARGINS

説明

現在のマージン設定は前回SET MARGINSコマンドで設定されたマージン設定です。 省略時の設定では,SET MARGINSコマンドを入力しなかった場合, 左マージンは1に,右マージンは255に設定されます。

関連コマンド


SET MARGINS

  1. DBG> SHOW MARGINS
    left margin: 1 , right margin: 255
    DBG>
    
    このコマンドは省略時のマージン設定として1と255を表示します。

  2. DBG> SET MARGINS 50
    DBG> SHOW MARGINS
    left margin: 1 , right margin: 50
    DBG>
    
    このコマンドは省略時の左マージン設定として1を,変更された右マージン設定として50 を表示します。

  3. DBG> SET MARGINS 10:60
    DBG> SHOW MARGINS
    left margin: 10 , right margin: 60
    DBG>
    
    このコマンドはそれぞれ10と60に変更された左右のマージン設定を表示します。

SHOW MODE

現在のデバッガ・モード(画面ありまたは画面なし,キーパッドありまたはキーパッドなしなど) と現在の基数を示します。

フォーマット

    SHOW MODE

説明

現在のデバッガ・モードは前回SET MODEコマンドで設定されたモードです。 省略時の設定では,SET MODEコマンドを入力していなかった場合, 現在のモードは次のようになります。
DYNAMIC
NOG_FLOAT (D浮動の小数点数)
INTERRUPT
KEYPAD
LINE
NOSCREEN
SCROLL
NOSEPARATE
SYMBOLIC

関連コマンド


(SET,CANCEL) MODE
(SET,SHOW,CANCEL) RADIX

    DBG> SHOW MODE
    modes: symbolic, line, d_float, screen, scroll, keypad,
           dynamic, interrupt, no separate window
    input radix :decimal
    output radix:decimal
    DBG>
    
    SHOW MODEコマンドは現在のモードと現在の入出力基数を表示します。

SHOW MODULE

現在のイメージでのモジュールに関する情報を表示します。

フォーマット

    SHOW MODULE   [module-name]

パラメータ

module-name

表示にいれるモジュールの名前を指定します。名前を指定しない場合またはワイルドカード文字のアスタリスク(*) をそれだけで指定する場合, すべてのモジュールがリストされます。モジュール名の中にはワイルドカードを使用できます。/SHARE を指定する場合だけ,共用可能イメージ・ モジュールが選択されます。

修飾子

/RELATED
/NORELATED (省略時の設定)

(Adaプログラムに適用される。)指定されたモジュールにWITH 句またはサブユニット関係によって関連づけられたモジュールがあればそれをデバッガがSHOW MODULE 表示の中にいれるかどうかを制御します。

SHOW MODULE/RELATEDコマンドは指定されたモジュールだけでなく,関連モジュールも表示します。 表示は正確な関係を示します。省略時の設定(/NORELATED) では,関連モジュールは表示の対象として選択されません( 指定されたモジュールだけが選択されます)。

/SHARE
/NOSHARE (省略時の設定)

プログラムにリンクされている共用可能イメージをデバッガがSHOW MODULE 表示にいれるかどうかを制御します。省略時の設定(/NOSHARE)では, 共用可能イメージ・モジュールは表示の対象として選択されません。

デバッガはプログラム内の共用可能イメージごとにダミー・モジュールを作成します。 これらの共用可能"イメージ・モジュール"の名前には接頭辞として"SHARE$ " が付きます。SHOW MODULE/SHAREコマンドは現在のイメージ内のモジュールだけでなく, これらの共用可能イメージ・モジュールも示します。

共用可能イメージ・モジュールを設定すると,そのイメージに対するユニバーサル・ シンボルが実行時シンボル・テーブルにロードされ,現在のイメージからそれらのシンボルを参照できるようになります。 ただし,現在のイメージからそのイメージ内の他の( ローカルまたはグローバルな)シンボルを参照することはできません。 この機能は新しいSET IMAGEコマンドやSHOW IMAGE コマンドの働きと重なります。

説明

SHOW MODULEコマンドは表示の対象として選択された1つまたは複数のモジュールに関して次の情報を表示します。


注意
現在のイメージは(省略時の設定では) メイン・イメージか,前回のSET IMAGEコマンドで現在のイメージとして設定されたイメージです。

Adaプログラムに特有の情報については,ヘルプ・トピックLanguage_Support Ada を参照してください。

関連コマンド


(SET,SHOW,CANCEL) IMAGE
SET MODE [NO]DYNAMIC
(SET,CANCEL) MODULE
(SET,SHOW,CANCEL) SCOPE
SHOW SYMBOL

  1. DBG> SHOW MODULE
    module name           symbols   size
    
    TEST                  yes       432
    SCREEN_IO             no        280
    
    total PASCAL modules: 2.    bytes allocated: 2740.
    DBG>
    
    この例では,SHOW MODULEコマンドにはパラメータが指定されておらず, 現在のイメージ内のモジュールすべてに関する情報を表示します。現在のイメージは省略時の設定ではメイン・ イメージです。この例は,すべてのモジュールが同一のソース言語を持っているときの表示形式を示します。"symbols" 欄はTESTモジュールは設定されていても,SCREEN_IOモジュールは設定されていないことを示します。

  2. DBG> SHOW MODULE FOO,MAIN,SUB*
    module name           symbols   language   size
    
    FOO                   yes       MACRO      432
    MAIN                  no        FORTRAN    280
    SUB1                  no        FORTRAN    164
    SUB2                  no        FORTRAN    204
    
    total modules: 4.     bytes allocated: 60720.
    DBG>
    
    この例では,SHOW MODULEコマンドはFOOモジュールとMAINモジュールに関する情報と接頭辞としてSUB を持つすべてのモジュールに関する情報を表示します。 この例は,モジュールが同一のソース言語を持っていないときの表示形式を示します。

  3. DBG> SHOW MODULE/SHARE
    module name           symbols   language   size
    
    FOO                   yes       MACRO       432
    MAIN                  no        FORTRAN     280
         . . .
    SHARE$DEBUG           no        Image         0
    SHARE$LIBRTL          no        Image         0
    SHARE$MTHRTL          no        Image         0
    SHARE$SHARE1          no        Image         0
    SHARE$SHARE2          no        Image         0
    
    total modules: 17.     bytes allocated: 162280.
    DBG> SET MODULE SHARE$SHARE2
    DBG> SHOW SYMBOL * IN SHARE$SHARE2
    
    この例では,SHOW MODULE/SHAREコマンドは現在のイメージ内のモジュールすべてと共用可能イメージすべて( 共用可能イメージの名前にはその前にSHARE$ が付きます)を示します。SET MODULE SHARE$SHARE2コマンドは共用可能イメージ・ モジュールのSHARE$SHARE2を設定します。SHOW SYMBOL コマンドは共用可能イメージSHARE2に定義されたユニバーサル・シンボルを示します。

SHOW OUTPUT

現在の出力オプションを示します。

フォーマット

    SHOW OUTPUT

説明

現在の出力オプションはSET OUTPUTコマンドで前回設定したオプションです。 省略時の設定では,SET OUTPUTコマンドを入力しなかった場合, 出力オプションはNOLOG,NOSCREEN_LOG,TERMINAL,NOVERIFYです。

関連コマンド


SET LOG
SET MODE SCREEN
SET OUTPUT

    DBG> SHOW OUTPUT
    noverify, terminal, screen_log,
        logging to USER$:[JONES.WORK]DEBUG.LOG;9
    DBG>
    
    このコマンドは次の現在の出力オプションを示します。

SHOW PROCESS

現在デバッガの制御下にあるプロセスについての情報を表示します。このコマンドは特にマルチプロセス・ デバッグ構成の場合(DBG$PROCESSの値がMULTIPROCESS の場合)に指定できます。

フォーマット

    SHOW PROCESS   [process-spec[, . . . ]]

パラメータ

process-spec

現在デバッガの制御下にあるプロセスを指定します。次のいずれかの形式で指定します。

[%PROCESS_NAME] proc-name スペースや小文字を全く含まないプロセス名。 プロセス名にはワイルドカード文字のアスタリスク(*) を含むこともできます。
[%PROCESS_NAME] "proc-name" スペースや小文字を含むプロセス名。二重引用符(")の代わりに一重引用符(') を使用することもできます。
%PROCESS_PID proc-id プロセス識別子(PID ,16進数)。
%PROCESS_NUMBER proc-number (または%PROC proc-number) デバッガの制御下に入ったときにプロセスに割り当てられた番号。 プロセス番号はSHOW PROCESS コマンドの実行で表示されます。
proc-group-name DEFINE/PROCESS_ GROUPコマンドで定義された,プロセスのグループを表すシンボル。 再帰的なシンボル定義を指定してはなりません。
%NEXT_PROCESS デバッガの循環プロセス・ リスト中の可視プロセスの次のプロセス。
%PREVIOUS_PROCESS デバッガの循環プロセス・ リスト中の可視プロセスの前のプロセス。
%VISIBLE_PROCESS シンボル,レジスタ値,ルーチン呼び出し, ブレークポイントなどの検索時に現在のコンテキストになっている呼び出しスタック, レジスタ・セット,およびイメージを持つプロセス。

すべてのプロセスを指定するためにワイルドカード文字のアスタリスク(*) または/ALL修飾子を使用することもできます。/ALLまたは/DYNAMIC を指定する場合,プロセスは指定できません。プロセスを指定しないか,/ALL を/BRIEF,/FULLまたは/[NO]HOLDとともに指定しないと,可視プロセスが選択されます。

修飾子

/ALL

表示の対象としてデバッガが知っているプロセスすべてを選択します。

/BRIEF

(省略時の設定。)表示の対象として選択されたプロセス1つにつき1 行だけの情報を表示します。

/DYNAMIC

動的プロセス設定が有効と無効のどちらになっているかを示します。 動的プロセス設定は省略時の設定では有効になっていて,SET PROCESS /[NO]DYNAMICコマンドで制御されます。

/FULL

表示の対象として選択されたプロセスごとに最大の情報を表示します。

/HOLD
/NOHOLD (省略時の設定)

表示の対象として凍結状態のプロセスか凍結状態になっていないプロセスのいずれかを選択します。

プロセスを指定しないと,/HOLDは凍結状態のすべてのプロセスを選択します。 プロセス・リストを指定すると,/HOLDは凍結状態のリストに載っているプロセスを選択します。

プロセスを指定しないと,/NOHOLDは凍結状態になっていないすべてのプロセスを選択します。 プロセス・リストを指定すると,/NOHOLDは凍結状態になっていないリスト上のプロセスを選択します。

同一のコマンド行に/HOLDと/NOHOLDの両方を指定すると,表示の対象として凍結状態のプロセス 凍結状態になっていないプロセスを選択したことになります( コマンド行であとに指定した修飾子が先に指定した修飾子を上書きすることにはなりません) 。

/VISIBLE

(省略時の設定。)表示の対象として可視プロセスを選択します。

説明

SHOW PROCESSコマンドは指定されたプロセスとそれらのプロセスで実行中のイメージに関する情報を表示します。

SHOW PROCESS/FULLコマンドはベクタ型プロセッサの可用性と使用法に関する情報も表示します。 この情報は,ベクタ命令を使用するプログラムをデバッグする場合に役立ちます。

プロセスはデバッガの制御下に置かれるとすぐ,まずSHOW PROCESS表示に表示できます。 プロセスはEXITコマンドまたはQUITコマンドによって終了されると,SHOW PROCESS コマンドを実行しても表示できなくなります。

省略時の設定(/BRIEF)では,次の情報も含め,1つのプロセスにつき1行の情報が表示されます。

表 2-2 デバッグ状態

状態 説明
Activated イメージとそのプロセスがデバッガの制御下に置かれている。
Break
Break on branch
Break on call
Break on instruction
Break on lines
Break on modify of
Break on return
Exception break
Exception break preceding
ブレークポイントが検出された。
Interrupted 実行が他のプロセスで中断されているためか, またはユーザが強制終了キー・ シーケンス(省略時の設定ではCtrl/C)を使用してプログラムの実行に割り込みをかけたために実行がそのプロセスで割り込みをかけられた。
Step
Step on return
コマンドが完了した。
Terminated 指示されたイメージは実行を終了したが, そのプロセスは依然としてデバッガの制御下にある。 したがって,イメージとそのプロセスに関する情報を獲得できる。プロセスを終了するには,EXIT コマンドまたはQUITコマンドを使用できる。
Trace
Trace on branch
Trace on call
Trace on instruction
Trace on lines
Trace on modify of
Trace on return
Exception trace
Exception trace preceding
トレースポイントが検出された。
Unhandled exception 未処理例外が検出された。
Watch of ウォッチポイントが検出された。

SHOW PROCESS/FULLコマンドはプロセスに関する補足的な情報を表示します。( 例を参照してください。)

関連コマンド


CONNECT
Ctrl/C
DEFINE/PROCESS_GROUP
EXIT
QUIT
SET PROCESS

  1. DBG_2> SHOW PROCESS
     Number  Name       Hold  State      Current PC
    *    2 _WTA3:       HOLD  break      SCREEN\%LINE 47
    DBG_2>
    
    省略時の設定では,SHOW PROCESSコマンドは左端の欄に可視プロセス(アスタリスク(*) で示される)に関する情報を1行表示します。可視プロセスはプロセス名として_WTA3: を持っています。_WTA3:はデバッガの制御下に置かれた2 番目のプロセス(プロセス番号2)です。このプロセスは凍結状態になっていて, イメージの実行はSCREENモジュールの47行目のブレークポイントで中断されます。

  2. DBG_2> SHOW PROCESS/FULL %PREVIOUS_PROCESS
    Process number: 1                  Process name: JONES_1:
    Hold: NO                           Visible process: NO
    Current PC: TEST_VALVES\%LINE 153
    State: interrupted
    PID: 20400885                      Owner PID: 00000000
    Current/Base priority:  5/4        Terminal: VTA79:
    
    Image name: USER$:[JONES.PROG1]TEST_VALVES.EXE;31
    
    Elapsed CPU time:   0 00:03:17.17  CPU Limit:         Infinite
    Buffered I/O Count:         14894  Remaining buffered I/O quota:       80
    Direct I/O Count:            6956  Remaining direct I/O quota:         40
    Open file count:                7  Remaining open file quota:          43
    Enqueue count:                200  Remaining enqueue quota:           198
    Vector capable:               Yes
    Vector consumer:              Yes  Vector CPU time:           00:00:00.00
    Fast Vector context switches:   0  Slow Vector context switches:        0
    Current working set size:    1102  Working set size quota:           1304
    Current working set extent: 12288  Maximum working set extent:      12288
    Peak working set size:       4955  Maximum authorized working set:   1304
    Current virtual size:         255  Peak virtual size:               16182
    Page faults:                41358
    
    Active ASTs:                       Remaining AST Quota:                27
    Event flags:    FF800000 60000003  Event flag wait mask:         7FFFFFFF
    DBG_2>
    
    SHOW PROCESS/FULL %PREVIOUS_PROCESSコマンドはプロセスの循環リスト中の前のプロセス( この場合にはプロセス番号1)に関する最大レベルの情報を表示します。

  3. DBG_2> SHOW PROCESS %PROCESS_NAME TEST_3
     Number  Name    Hold  State       Current PC
         7 TEST_3          watch of TEST_3\ROUT4\COUNT
                                           TEST_3\%LINE 54
    DBG_2>
    
    このSHOW PROCESSコマンドはTEST_3プロセスに関する情報を1行表示します。 イメージは変数COUNTのウォッチポイントで中断されます。

  4. DBG_2> SHOW PROCESS/DYNAMIC
    Dynamic process setting is enabled
    DBG_2>
    
    このコマンドは動的プロセス設定が有効になることを表します。

SHOW RADIX

整数データの入力や表示のための現在の基数を示します。/OVERRIDEが指定された場合には, 現在の上書き型の基数を示します。

フォーマット

    SHOW RADIX

修飾子

/OVERRIDE

現在の上書き型の基数を示します。

説明

デバッガは2進数,10進数,16進数,8進数の4つの基数のどれか1つで整数データを解釈したり表示したりできます。 整数データの入力や表示のための現在の基数は前回SET RADIX コマンドで設定した基数です。

SET RADIXコマンドを入力していなかった場合,データの入力や表示のための省略時の基数はほとんどの言語の場合10 進数です。VAXプロセッサでは,BLISSとMACRO-32です。MACRO-32です。 この2つの省略時の基数は16進数です。Alphaプロセッサでは, 例外はBLISSとMACRO-32とMACRO-64です。MACRO-32とMACRO-64 です。この3つの省略時の基数は16進数です。

すべてのデータの表示用の現在の上書き型の基数は前回SET RADIX /OVERRIDEコマンドで設定した上書き型の基数になります。SET RADIX /OVERRIDEコマンドを入力していなかった場合,変更型の基数は"ありません" 。

関連コマンド


DEPOSIT
EVALUATE
EXAMINE
(SET,CANCEL) RADIX

  1. DBG> SHOW RADIX
    input radix: decimal
    output radix: decimal
    DBG>
    
    このコマンドは入力基数と出力基数を10進数として表示します。

  2. DBG> SET RADIX/OVERRIDE HEX
    DBG> SHOW RADIX/OVERRIDE
    output override radix: hexadecimal
    DBG>
    
    この例では,SET RADIX/OVERRIDEコマンドは上書き型の基数を16進数に設定し,SHOW RADIX/OVERRIDE コマンドは上書き型の基数を示します。これは,EXAMINE などのコマンドがすべてのデータを16進整数データとして表示することを意味します。

SHOW SCOPE

シンボル検索のための現在の有効範囲検索リストを示します。

フォーマット

    SHOW SCOPE

説明

現在の有効範囲検索リストは,デバッガ・コマンドにパス名接頭辞を付けずに指定されるシンボルの解釈に使用する( パス名またはその他の特殊文字で指定される) 1 つまたは複数のプログラム記憶位置を指定します。

現在の有効範囲検索リストは前回SET SCOPEコマンドで設定された有効範囲検索リストです。 省略時の設定では,SET SCOPEコマンドが入力されていなかった場合, 現在の有効範囲検索リストは0,1,2, . . . ,nになります。

省略時の有効範囲検索リストは,パス名接頭辞を持たないシンボルに対して,EXAMINE X のようなシンボル検索の場合,最初に現在実行中のルーチン( 有効範囲0)でXを検索し,そこでXが可視になっていなければ, そのルーチンの呼び出し元(有効範囲1)を検索していくというように, 呼び出しスタックを順々に検索していくことを指定します。有効範囲 nにもXが見つかれなければ,デバッガは実行時シンボル・ テーブル(RST)の残り,つまり,設定されているすべてのモジュールと必要であればグローバル・ シンボル・テーブル(GST)を検索します。

呼び出しスタックのルーチンを表現するためにSET SCOPEコマンドに10進整数を使用した場合には,SHOW SCOPE コマンドは可能であれば,整数で表現されるルーチン名を表示します。

関連コマンド


(SET,CANCEL) SCOPE

  1. DBG> CANCEL SCOPE
    DBG> SHOW SCOPE
    scope:
     *  0 [ = EIGHTQUEENS\TRYCOL\REMOVEQUEEN ],
        1 [ = EIGHTQUEENS\TRYCOL ],
        2 [ = EIGHTQUEENS\TRYCOL 1 ],
        3 [ = EIGHTQUEENS\TRYCOL 2 ],
        4 [ = EIGHTQUEENS\TRYCOL 3 ],
        5 [ = EIGHTQUEENS\TRYCOL 4 ],
        6 [ = EIGHTQUEENS ]
    DBG> SET SCOPE/CURRENT 2
    DBG> SHOW SCOPE
    scope:
        0 [ = EIGHTQUEENS\TRYCOL\REMOVEQUEEN ],
        1 [ = EIGHTQUEENS\TRYCOL ],
     *  2 [ = EIGHTQUEENS\TRYCOL 1 ],
        3 [ = EIGHTQUEENS\TRYCOL 2 ],
        4 [ = EIGHTQUEENS\TRYCOL 3 ],
        5 [ = EIGHTQUEENS\TRYCOL 4 ],
        6 [ = EIGHTQUEENS ]
    DBG>
    

    CANCEL SCOPEコマンドは省略時の有効範囲検索リストを復元します。 省略時の有効範囲検索リストは(最初の) SHOW SCOPEコマンドで表示されます。 この例では,ルーチンTRYCOLへの数回の再帰呼び出しのあと, 実行はREMOVEQUEENルーチンで中断されます。アスタリスク(*)は有効範囲検索リストが有効範囲0 ,つまり実行が中断されるルーチンの有効範囲で始まることを示します。

    例のSET SCOPE/CURRENTコマンドは有効範囲検索リストの始まりを有効範囲2 に再設定します。有効範囲2は実行が中断されるルーチンの呼び出し元の有効範囲です。(2 番目の) SHOW SCOPEコマンドの出力に付いているアスタリスクは有効範囲検索リストが今度は有効範囲2 で始まることを表します。

  2. DBG> SET SCOPE 0,STACKS\R2,SCREEN_IO,\
    DBG> SHOW SCOPE
    scope:
        0, [= TEST ],
        STACKS\R2,
        SCREEN_IO,
        \
    DBG>
    
    この例では,SET SCOPEコマンドはデバッガに次の有効範囲検索リストに従ってパス名接頭辞を持たないシンボルを検索するように指示します。 最初に,デバッガはPC範囲(0で示され,モジュールTESTにある)を検索します。PC 範囲内に指定されたシンボルが見つからないと,次にモジュールSTACKS のルーチンR2を検索します。必要であれば,次にモジュールSCREEN_IO を検索し,最後に(グローバル有効範囲(\)で示される)グローバル・ シンボル・テーブルを検索します。SHOW SCOPEコマンドはシンボル検索のための現在の有効範囲検索リストを示します。 省略時の有効範囲検索リストが有効になっているか, またはSET SCOPE/CURRENTコマンドを入力した場合を除き,SHOW SCOPE 表示にアスタリスクは示されません。

SHOW SEARCH

SEARCHコマンドに対して現在有効になっている省略時の修飾子(/ALLか/NEX T ,/IDENTIFIERか/STRING)を示します。

フォーマット

    SHOW SEARCH

説明

SEARCHコマンドの省略時の修飾子は前回SET SEARCHコマンドで設定された省略時の修飾子です。SET SEARCH コマンドを入力していなかった場合には, 省略時の修飾子として/NEXTと/STRINGが使用されます。

関連コマンド


SEARCH
(SET,SHOW) LANGUAGE
SET SEARCH

    DBG> SHOW SEARCH
    search settings: search for next occurrence, as a string
    DBG> SET SEARCH IDENT
    DBG> SHOW SEARCH
    search settings: search for next occurrence, as an identifier
    DBG> SET SEARCH ALL
    DBG> SHOW SEARCH
    search settings: search for all occurrences, as an identifier
    DBG>
    
    この例では,最初のSHOW SEARCHコマンドはSET SEARCHコマンドの省略時の設定を表示します。 省略時の設定では,デバッガは指定文字列が次に現れる箇所を検索し, 表示します。

    2番目のSHOW SEARCHコマンドは,デバッガが指定文字列の次に現れる箇所を検索するものの, その前後が現在の言語の識別子の一部になり得る文字に接していない場合だけその文字列を表示することを通知します。

    3番目のSHOW SEARCHコマンドはデバッガが指定文字列の現れる箇所すべてを検索するものの, その前後が現在の言語の識別子の一部になり得る文字に接していない場合だけそれらの文字列を表示することを通知します。

SHOW SELECT

ディスプレイ属性,つまりエラー,入力,命令,出力,プログラム,プロンプト, スクロール,ソースのそれぞれに対して現在選択されているディスプレイを示します。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

    SHOW SELECT

説明

ディスプレイ属性には次の特性があります。

関連コマンド


SELECT
SHOW DISPLAY

    DBG> SHOW SELECT
    display selections:
         scroll = SRC
         input  = none
         output = OUT
         error  = PROMPT
         source = SRC
         instruction = none
         program = PROMPT
         prompt = PROMPT
    DBG>
    
    SHOW SELECTコマンドはディスプレイ属性のそれぞれに対して現在選択されているディスプレイを示します。 選択されているディスプレイは言語の省略時の設定です。

SHOW SOURCE

現在有効になっている,ソース・ディレクトリの検索リストと検索方法を示します。

フォーマット

    SHOW SOURCE

修飾子

/DISPLAY

デバッガがソース・コードを表示するときに使用する検索リストを指定します。

/EDIT

デバッガがEDITコマンドの実行時に使用する検索リストを示します。

説明

SET SOURCE/MODULE=module-nameコマンドは特定のモジュールに対するソース・ ディレクトリ検索リストを設定します。SET SOURCEコマンドはSET SOURCE/MODULE=module-nameコマンドで明示的に指定されていないすべてのモジュールに対してソース・ ディレクトリ検索リストを設定します。 これらのコマンドを使用していた場合, SHOW SOURCEは各検索カテゴリに対応するソース・ディレクトリ検索リストを示します。

ソース・ディレクトリ検索リストがSET SOURCEコマンドまたはSET SOURCE /MODULE=module-nameコマンドによって設定されていない場合には,SHOW SOURCE コマンドはディレクトリ検索リストが現在有効になっていないことを通知します。 この場合,各ソース・ファイルはそれがコンパイル時に存在していたディレクトリにあるものと判断されます( デバッガはさらにソース・ ファイルのバージョン番号と作成日時がデバッガのシンボル・ テーブルの情報に一致するかもチェックします)。

ソース・コードの表示用に使用するファイルがEDITコマンドを使用して編集するファイルと異なっている場合には,/EDIT 修飾子を指定する必要があります。Ada プログラムの場合がそうです。Adaプログラムの場合,SHOW SOURCEコマンドはソース表示に使用するファイル(Adaプログラム・ライブラリの" コピーされたソース・ファイルの検索リストを示します。SHOW SOURCE/EDITコマンドは,EDITコマンドを使用して編集されるソース・ファイルの検索リストを示します。

Adaプログラムに特有の情報については,Help Language_Support Adaとタイプして参照してください。

関連コマンド


(SET,CANCEL) SOURCE

  1. DBG> SHOW SOURCE
    no directory search list in effect,
        match the latest source file version
    DBG> SET SOURCE [PROJA],[PROJB],DISK:[PETER.PROJC]
    DBG> SHOW SOURCE
    source directory search list for all modules,
        match the latest source file version:
            [PROJA]
            [PROJB]
            DISK:[PETER.PROJC]
    DBG>
    
    この例では,SET SOURCEコマンドはデバッガに[PROJA],[PROJB], DISK:[PETER.PROJC]の各ディレクトリを検索するように指示します。 省略時の設定では,デバッガはソース・ファイルの最新バージョンを検索します。

  2. DBG> SET SOURCE/MODULE=CTEST/EXACT [], DISK$2:[PROJD]
    DBG> SHOW SOURCE
    source directory search list for CTEST,
        match the exact source file version:
            []
            DISK$2:[PROJD]
    source directory search list for all other modules,
    match the latest source file version:
            [PROJA]
            [PROJB]
            DISK:[PETER.PROJC]
    DBG>
    
    この例では,SET SOURCEコマンドはデバッガに現在の省略時のディレクトリ( []) とDISK$2:[PROJD]ディレクトリを検索して,CTESTモジュールで使用するソース・ ファイルを検索するように指示します。/EXACT修飾子は, デバッグ・シンボル・テーブルにあるバージョンと正確に一致するバージョンのCTEST ソース・ファイルを検索するように指定しています。

SHOW STACK

現在アクティブなルーチン呼び出しに関する情報を表示します。

フォーマット

    SHOW STACK   [integer]

パラメータ

integer

表示するフレームの数を指定します。このパラメータを省略すると, デバッガはすべての呼び出しフレームに関する情報を表示します。

説明

各呼び出しフレームについて,SHOW STACKコマンドは,条件ハンドラ, 保存されたレジスタ値,引数リストなどの情報があれば表示します。 引数リストはその呼び出しを使用してサブルーチンに引き渡される引数のリストです。 場合によっては,引数リストに実際の引数のアドレスを入れられます。 そのような場合,それらの引数の値を表示するには,EXAMINE address-expressionコマンドを使用します。

VAXプロセッサでは,1回のルーチン起動で呼び出しスタックに呼び出しフレームが1 つ生じます。

Alphaプロセッサでは,ルーチン起動を行うと( スタックに呼び出しフレームが生じる)スタック・フレーム・プロシージャ,( レジスタに呼び出しフレームが格納される)レジスタ・フレーム・プロシージャ, または(呼び出しフレームのない)空フレーム・プロシージャが生じる可能性があります。SHOW STACK はスタック・フレーム・プロシージャとレジスタ・ フレーム・プロシージャの情報は提供しますが,空フレーム・ プロシージャの情報は提供しません。(例2を参照。)

関連コマンド


SHOW CALLS

  1. DBG> SHOW STACK
    stack frame 0 (2146814812)
    
        condition handler: 0
           SPA:            0
           S:              0
           mask:           ^M<r2>
           PSW:            0000 (hexadecimal)
        saved AP:          7
        saved FP:          2146814852
        saved PC:          EIGHTQUEENS\%LINE 69
        saved R2:          0
        argument list:(1)  EIGHTQUEENS\%LINE 68+2
    
    stack frame 1 (2146814852)
        condition handler: SHARE$PASRTL+888
           SPA:            0
           S:              0
           mask:           none saved
           PSW:            0000 (hexadecimal)
        saved AP:          2146814924
        saved FP:          2146814904
        saved PC:          SHARE$DEBUG+667
    DBG>
    
    VAXシステムの場合のこの例では,SHOW STACKコマンドは現在のPC記憶位置にあるすべての呼び出しスタック・ フレームに関する情報を表示します。

  2. DBG> SHOW STACK
    invocation block 0
    
        FP: 000000007F907AD0
        Detected what appears to be a NULL frame
        NULL frames operate in the same invocation context as their caller
        NULL Procedure Descriptor (0000000000010050):
            Flags:                  3089
              KIND:                 PDSC$K_KIND_FP_STACK (09)
            Signature Offset        0000
            Entry Address:          MAIN\FFFF
        Procedure Descriptor (0000000000010000):
            Flags:                  3089
              KIND:                 PDSC$K_KIND_FP_STACK (09)
              FP is Base Register
            Rsa Offset:             0008
            Signature Offset        0000
            Entry Address:          MAIN
            Ireg Mask:              20000004 <R2,FP>
              RA Saved @ 000000007F907AD8:  FFFFFFFF8255A1F8
              R2 Saved @ 000000007F907AE0:  000000007FFBF880
              FP Saved @ 000000007F907AE8:  000000007F907B30
            Freg Mask:              00000000
            Size:                   00000020
    
    invocation block 1
    
        FP: 000000007F907B30
        Procedure Descriptor (FFFFFFFF8255D910):
            Flags:                  3099
              KIND:                 PDSC$K_KIND_FP_STACK (09)
              Handler Valid
              FP is Base Register
            Rsa Offset:             0048
            Signature Offset        0001
            Entry Address:          -2108317536
            Ireg Mask:              20002084 <R2,R7,R13,FP>
              RA Saved @ 000000007F907B78:  000000007FA28160
              R2 Saved @ 000000007F907B80:  0000000000000000
              R7 Saved @ 000000007F907B88:  000000007FF9C9E0
              R13 Saved @ 000000007F907B90: 000000007FA00900
              FP Saved @ 000000007F907B98:  000000007F907BB0
            Freg Mask:              00000000
            Size:                   00000070
            Condition Handler:      -2108303104
    DBG>
    
    これは,Alphaシステムの例です。ルーチン・セクションのプロローグおよびエピローグが空フレームとなるデバッガに表示されることに注意してください。 フレーム・ポインタ(FP)内の変化前のプロローグ部分およびフレーム・ ポインタ( FP)の回復後のエピローグ部分は,それぞれ空フレームのように見えるため, 空フレームと報告されます。

SHOW STEP

STEPコマンドに対して現在有効になっている省略時の修飾子(/INTO, /INSTRUCTION,/NOSILENTなど)を示します。

フォーマット

    SHOW STEP

説明

STEPコマンドの省略時の修飾子は前回SET STEPコマンドで設定された省略時の修飾子です。SET STEP コマンドを入力していなかった場合,省略時の修飾子として/LINE ,/OVER,/NOSILENT,/SOURCEが使用されます。

PF1-PF3を押すことにより画面モードを有効にすると,(出力表示とDO表示の冗長ソース表示を削除するために) SET MODE SCREEN コマンドだけでなくSET STEP NOSOURCE コマンドも入力されます。この場合,省略時の修飾子として/LINE ,/OVER,/NOSILENT,/NOSOURCEが使用されます。

関連コマンド


STEP
SET STEP

    DBG> SET STEP INTO,NOSYSTEM,NOSHARE,INSTRUCTION,NOSOURCE
    DBG> SHOW STEP
    step type: nosystem, noshare, nosource, nosilent, into routine calls,
               by instruction
    DBG>
    
    この例では,SHOW STEPコマンドはデバッガが次の処置を取ることを示します。

SHOW SYMBOL

現在のイメージに対してデバッガの実行時シンボル・テーブル(RST)に関する情報を表示します。


注意
現在のイメージはメイン・イメージ( 省略時の設定)または前回SET IMAGEコマンドで現在のイメージとして設定されたイメージのどちらかになります。

フォーマット

    SHOW SYMBOL   symbol-name[, . . . ] [IN scope[, . . . ]]

パラメータ

symbol-name

表示するシンボルを指定します。有効なシンボル名は単一の識別子または%LABEL nという形式のラベル名です。ただし, nは整数です。RECORD.FIELDやARRAY[1,2]などの複合名は有効ではありません。 ワイルドカード文字のアスタリスク(*)をそれだけで指定すると, すべてのシンボルがリストされます。シンボル名の中にはワイルドカードを使用できます。

scope

モジュール,ルーチンまたはレキシカル・ブロックの名前,あるいは数値有効範囲を指定します。 このパラメータはSET SCOPEコマンドの有効範囲指定と同じ構文を持ち, パス名修飾子を含むことができます。指定する有効範囲はすべて現在のイメージ内の設定されたモジュールになければなりません。

SHOW SYMBOLコマンドは指定された名前に一致し,しかも scopeパラメータで指定されたレキシカル要素の中で宣言されている現在のイメージのRST にあるシンボルだけを表示します。このパラメータを省略すると, symbol-nameパラメータで指定された名前に一致するシンボルを検索するために, 現在のイメージに対して設定されているすべてのモジュールとグローバル・ シンボル・テーブル(GST) が検索されます。

修飾子

/ADDRESS

選択されたそれぞれのシンボルに対するアドレス指定を表示します。 アドレス指定はシンボルのアドレスを求める方法です。アドレス指定は単にシンボルのメモリ・ アドレスにすることもできますが,間接参照やレジスタ値からのオフセットをいれることもできます。 シンボルの中には,複雑すぎて, わかりやすく表示できないアドレス指定を持つものもあります。 このようなアドレス指定には"complex address specifications"というラベルが付きます。

Alphaプロセッサでは,SHOW SYMBOL/ADDRESS procedure-nameコマンドは指定されたルーチン,エントリ・ポイントまたはAda パッケージのコード・アドレスとプロシージャ・ディスクリプタ・ アドレスの両方を表示します。

/DEFINED

DEFINEコマンドで定義したシンボル(DEFINEシンボル・テーブルにあるシンボル定義) を表示します。

/DIRECT

scopeパラメータで直接宣言されるシンボルだけを表示します。scope パラメータで指定された有効範囲内でネストされたレキシカル要素で宣言されたシンボルは示されません。

/FULL

/ADDRESS,/TYPE,/USE_CLAUSE修飾子に関連するすべての情報を表示します。

C++モジュールの場合,symbol-name がクラスの場合は,SHOW SYMBOL /FULLはそのクラスに関する情報も表示します。

/LOCAL

scopeパラメータで直接宣言されるシンボルだけを表示します。scope パラメータで指定された有効範囲内でネストされたレキシカル要素で宣言されたシンボルは示されません。

/TYPE

選択された各シンボルについてデータ型情報を表示します。

/USE_CLAUSE

(Adaプログラムに適用される。)指定のブロック,サブプログラムまたはパッケージがUSE 句で名前を付けるAdaパッケージを示します。指定されたシンボルがパッケージである場合には, 指定したシンボルにUSE句で名前を付けるブロック, サブプログラム,パッケージなども示します。

説明

SHOW SYMBOLコマンドはデバッガが現在のイメージ内の指定のシンボルに関して持っている情報を表示します。 この情報はコンパイラが持っていた情報や, ソース・コードで確認できる情報と同じことがあります。 それでも,このコマンドは,シンボルを処理するときにデバッガが取る動作の理由を理解するために役立ちます。

修飾子を指定しないと,SHOW SYMBOLコマンドは現在のイメージに対するRST に存在する(つまり,現在のイメージに対して設定されているすべてのモジュールとGST にある),指定されたシンボルの宣言または定義のすべてをリストします。 シンボルはそのパス名といっしょに表示されます。パス名はデバッガがシンボルの特定の宣言に達するためにたどらなければならない検索有効範囲( モジュール,ネストされたルーチン,ブロックなど)を識別します。 デバッガ・コマンドでシンボリック・アドレス式を指定するときは, シンボルが2回以上定義されていて,デバッガがあいまいさを解消できない場合にだけパス名を使用します。

/DEFINED修飾子と/LOCAL修飾子は(プログラムから派生するシンボルではなく) DEFINE コマンドで定義されたシンボルに関する情報を表示します。 他の修飾子はプログラム内で宣言されたシンボルに関する情報を表示します。

Adaプログラムに特有の情報については,「Ada」ヘルプ・トピックを参照してください。

関連コマンド


DEFINE
DELETE
SET MODE [NO]LINE
SET MODE [NO]SYMBOLIC
SHOW DEFINE
SYMBOLIZE

  1. DBG> SHOW SYMBOL I
    data FORARRAY\I
    DBG>
    
    このコマンドはシンボルIがFORARRAYモジュールに定義されていて,ルーチンではなく変数( データ)であることを示します。

  2. DBG> SHOW SYMBOL/ADDRESS INTARRAY1
    data FORARRAY\INTARRAY1
         descriptor address: 0009DE8B
    DBG>
    
    このコマンドはシンボルINTARRAY1がFORARRAYモジュールに定義されていて, メモリ・アドレスが0009DE8Bであることを示します。

  3. DBG> SHOW SYMBOL *PL*
    
    このコマンドは名前に"PL"という文字列が含まれているシンボルをすべてリストします。

  4. DBG> SHOW SYMBOL/TYPE COLOR
    data SCALARS\MAIN\COLOR
        enumeration type (primary, 3 elements), size: 4 bytes
    
    このコマンドは変数COLORが列挙型であることを示します。

  5. DBG> SHOW SYMBOL/TYPE/ADDRESS *
    
    このコマンドはすべてのシンボルに関するすべての情報を表示します。

  6. DBG> SHOW SYMBOL * IN MOD3\COUNTER
        routine MOD3\COUNTER
        data MOD3\COUNTER\X
        data MOD3\COUNTER\Y
    DBG>
    
    このコマンドはパス名MOD3\COUNTERで示される有効範囲で定義されているすべてのシンボルをリストします。

  7. DBG> DEFINE/COMMAND SB=SET BREAK
    DBG> SHOW SYMBOL/DEFINED SB
    defined SB
        bound to: SET BREAK
        was defined /command
    DBG>
    
    この例では,DEFINE/COMMANDコマンドはSET BREAKコマンドのシンボルとしてSB を定義します。SHOW SYMBOL/DEFINEDコマンドはその定義を表示します。

SHOW TASK | THREAD

タスキング・プログラム(マルチスレッド・プログラムとも呼ばれる)のタスクに関する情報を表示します。


注意
SET TASK and SET THREAD are synonymous commands. They perform identically.

フォーマット

    SHOW TASK   [task-spec[, . . . ]]

パラメータ

task-spec

タスク値を指定します。次のいずれかの形式で指定します。

ワイルドカード文字のアスタリスク(*)は使用できません。代わりに/ALL 修飾子を使用してください。/ALL,/STATISTICSまたは/TIME_SLICEを指定する場合, タスクは指定できません。

修飾子

/ALL

既存のすべてのタスク,つまり,すでに作成されているタスクで,(Ada タスクの場合には)マスタがまだ終了していないタスクを表示の対象として選択します。

/CALLS[=n]

表示の対象として選択されたタスクごとにSHOW CALLSコマンドを実行します。 これはタスクの現在アクティブなルーチン呼び出し(呼び出しスタック) を示します。

/FULL

イベント機能がTHREADSの場合は,コマンドを使用します。

表示の対象として選択された各タスクについて補足的な情報を表示します。 他の修飾子を指定しないで/FULLを指定した場合,あるいは/CALLSまたは/STATISTICS を指定した場合に,補足的な情報が提供されます。

/HOLD
/NOHOLD (省略時の設定)

イベント機能がTHREADSの場合は,PTHREAD tset -n thread- numberコマンドを使用します。

表示の対象として凍結状態になっているタスクか凍結状態になっていないタスクのいずれかを選択します。

タスクを指定しないと,/HOLDは凍結状態のすべてのタスクを選択します。 タスク・リストを指定すると,/HOLDはタスク・リストに載っている凍結状態のタスクを選択します。

タスクを指定しないと,/NOHOLDは凍結状態になっていないすべてのタスクを選択します。 タスク・リストを指定すると,/NOHOLDはタスク・リストに載っている凍結状態になっていないタスクを選択します。

/PRIORITY=(n[, . . . ])

イベント機能がTHREADSの場合は,PTHREAD tset -n thread- numberコマンドを使用します。

タスクを指定しない場合には,指定した優先順位nのどれかを持つすべてのタスクを選択します。 ただし,nは0から15までの10 進整数です。タスク・リストを指定すると,指定された優先順位のどれかを持つタスク・ リストに載っているタスクを選択します。

/STATE=(state[, . . . ])

タスクを指定しないと,指定された状態,つまり,RUNNING, READY,SUSPENDEDまたはTERMINATEDのいずれかになっているタスクすべてを選択します。 タスク・リストを指定すると,指定された状態のいずれかになっている, タスク・リスト内のタスクを選択します。

/STATISTICS

(DEC Ada on VAXのみ)

タスキング・システム全体のタスク統計情報を表示します。この情報を使用すると, タスキング・プログラムの性能を測定できます。全体のスケジューリング( コンテキスト・スイッチとも言う)の数が多ければ多いほど, タスキングのオーバヘッドが増えます。

/TIME_SLICE

(VAXのみ)

前回のSET TASK/TIME_SLICEコマンドによる指定に従って,現在のタイム・ スライス値を秒単位で表示します。SET TASK/TIME_SLICEコマンドがそれまでに入力されていなかった場合には, プログラムで指定されているタイム・ スライス値があればそれを表示します。それまでにタイム・スライス値が設定されていない場合には, 値は0.0,つまりタイム・スライスは無効ということになります。

/TIME_SLICEはイベント機能がADAの時のみに有効になります。

説明

タスクは作成されるとすぐに,まずSHOW THREADコマンドの実行で表示することができます。 タスクは終了するか,または(Adaタスキング・プログラムの場合) そのマスタが終了すると,SHOW THREADコマンドを実行しても表示できなくなります。 省略時の設定では,SHOW THREADコマンドは選択されたタスク1 つにつき1行の情報を表示します。

関連コマンド


DEPOSIT/TASK
EXAMINE/TASK
(SET,SHOW) EVENT_FACILITY
SET TASK

  1. DBG> SHOW EVENT_FACILITY
    event facility is ADA
         . . .
    DBG> SHOW TASK/ALL
      task id   pri hold state   substate        task object
    * %TASK 1    7       RUN                   122624
      %TASK 2    7  HOLD SUSP  Accept          H4.MONITOR
      %TASK 3    6       READY Entry call      H4.CHECK_IN
    DBG>
    
    この例では,SHOW EVENT_FACILITYコマンドは現在のイベント機能としてADA を示します。SHOW TASK/ALLコマンドは,Adaサービスを使用して作成され, 現在も存在しているすべてのタスクに関する基本的な情報を提供します。 タスクごとに1行が使用されます。アクティブなタスクにはアスタリスク(*) が付けられます。この例では,%TASK 1がアクティブなタスク(RUN 状態にあるタスク)です。

  2. DBG> SHOW TASK %ACTIVE_TASK,%TASK 3,MONITOR
    
    このコマンドはアクティブなタスク,%TASK 3タスク,およびMONITORというタスクを表示の対象として選択します。

  3. DBG> SHOW TASK/PRIORITY=6
    
    このコマンドは優先順位が6になっているすべてのタスクを選択します。

  4. DBG> SHOW TASK/STATE=(RUN,SUSP)
    
    このコマンドは実行中であるか,中断されているすべてのタスクを表示の対象として選択します。

  5. DBG> SHOW TASK/STATE=SUSP/NOHOLD
    
    このコマンドは中断されていて,しかも凍結状態でないすべてのタスクを表示の対象として選択します。

  6. DBG> SHOW TASK/STATE=(RUN,SUSP)/PRIO=7 %VISIBLE_TASK,%TASK 3
    
    このコマンドは,可視タスクと%TASK 3タスクの中から,RUNNINGまたはSUSPENDED STATE になっていて,優先順位が7になっているタスクを表示の対象として選択します。

SHOW TERMINAL

出力を編集するために使用される現在の端末画面の高さ(ページ)と幅を示します。


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

    SHOW TERMINAL

説明

現在の端末画面の高さと幅は前回SET TERMINALコマンドで設定された高さと幅です。 省略時の設定では,SET TERMINALコマンドを入力していなかった場合, 現在の高さと幅はターミナル・ドライバに既知の高さと幅( 通常,VTシリーズ端末では24行,80列)であり,DCLコマンドのSHOW TERMINALが表示するのはこの高さと幅です。

関連コマンド


SET TERMINAL
SHOW DISPLAY
SHOW WINDOW

    DBG>  SHOW TERMINAL
    terminal width: 80
             page:  24
             wrap:  80
    DBG>
    
    このコマンドは現在の端末画面の幅と高さ(ページ)を80列,24行と表示し, メッセージは80列でラップするよう設定されています。

SHOW TRACE

トレースポイントに関する情報を表示します。

フォーマット

    SHOW TRACE

修飾子

/PREDEFINED

定義済みトレースポイントに関する情報を表示します。

/USER

ユーザ定義トレースポイントに関する情報を表示します。

説明

SHOW TRACEコマンドは,WHEN句またはDO句,/AFTERの数などのオプションも含めて, 現在設定されているトレースポイントについての情報と, そのトレースポイントが無効になっているかどうかを表示します。

省略時の設定では,SHOW TRACEはユーザ定義トレースポイントと定義済みトレースポイントの両方( ただし,ある場合)に関する情報を表示します。 これはSHOW TRACE/USER/PREDEFINEDコマンドを入力する場合と同じです。 ユーザ定義トレースポイントはSET TRACEコマンドで設定されます。定義済みトレースポイントは, デバッガを起動すると自動的に設定され,デバッグの対象になっているプログラムの種類によって異なります。

SET TRACE/AFTER:nを使用してトレースポイントを設定した場合,SHOW TRACE コマンドは10進整数nの現在の値,つまり最初に指定された整数値からトレースポイント記憶位置に到達するたびに1 を引いた値を表示します。 デバッガはnの値が0になるまでトレースポイント記憶位置に到達するたびに nを減少させていきます。0 になると,デバッガはトレース動作を取ります。

Alphaシステムでは,トレースが特定のクラスの命令にある場合は,(SET TRACE/CALLまたはSET TRACE/RETURNと同様に) SHOW TRACEコマンドは個々の命令を表示しません。

関連コマンド


(ACTIVATE, DEACTIVATE, SET, CANCEL) TRACE

  1. DBG> SHOW TRACE
    tracepoint at routine CALC\MULT
    tracepoint on calls:
            RET     RSB     BSBB    JSB     BSBW    CALLG   CALLS
    DBG>
    
    このVAX例では,SHOW TRACEコマンドは現在設定されているすべてのトレースポイントを示します。 この例は,実行がCALCモジュール内のMULTルーチンか, またはRET,RSB,BSBB,JSB,BSBW,CALLGまたはCALLSの命令のどれか1 つに到達すると必ず検出されるユーザ定義トレースポイントを示します。

  2. DBG_2> SHOW TRACE/PREDEFINED
    predefined tracepoint on program activation
       DO (SET DISP/DYN/REM/SIZE:64/PROC SRC_/SUF=PROCESS_NU AT H1 SOURCE
              (EXAM/SOURCE .%SOURCE_SCOPE\%PC);
          SET DISP/DYN/REM/SIZE:64/PROC INST_/SUF=PROCESS_NU AT H1 INST
              (EXAM/INSTRUCTION .0\%PC))
    predefined tracepoint on program termination
    DBG_2>
    
    このコマンドは現在設定されている定義済みトレースポイントを示します。 この例はマルチプロセス・プログラムの場合(DBG$PROCESSの値がMULTIPROCESS の場合),デバッガによって自動的に設定される定義済みトレースポイントを示します。 新しいプロセスがデバッガの制御下に入ると, プログラム起動のトレースポイントが起動されます。DO句はプロセス起動トレースポイントが検出されると,SRC_ nという名前のプロセス固有のソース表示とINST_ nという名前のプロセス固有の機械語命令ディスプレイを作成します。 プロセスがイメージ終了を行うと, プログラム終了のトレースポイントが検出されます。

SHOW TYPE

型がコンパイラ生成型ではないプログラム記憶位置の現在の型を示します。/OVERRIDE が指定された場合には,現在の上書き型を示します。

フォーマット

    SHOW TYPE

修飾子

/OVERRIDE

現在の上書き型を示します。

説明

型がコンパイラ生成型ではないプログラム記憶位置の現在の型は前回SET TYPE コマンドで設定された型です。SET TYPEコマンドを入力していなかった場合, そのような記憶位置の型はロングワード整数になります。

すべてのプログラム記憶位置に対する現在の上書き型は前回SET TYPE /OVERRIDEコマンドで設定された上書き型です。SET TYPE/OVERRIDEコマンドを入力していなかった場合, 上書き型はありません。

関連コマンド


CANCEL TYPE/OVERRIDE
DEPOSIT
EXAMINE
(SET,SHOW,CANCEL) MODE
(SET,SHOW,CANCEL) RADIX
SET TYPE

  1. DBG> SET TYPE QUADWORD
    DBG> SHOW TYPE
    type: quadword integer
    DBG>
    
    この例では,型がコンパイラ生成型ではない記憶位置に対して型をクォドワードに設定します。SHOW TYPE コマンドはそれらの記憶位置の現在の省略時の型をクォドワード整数として表示します。 これは,特に他に指定がないかぎり( たとえばEXAMINEコマンドでtype修飾子を使用するなどによる) ,デバッガがそれらの記憶位置にある要素をクォドワード整数として解釈し, 表示することを意味します。

  2. DBG> SHOW TYPE/OVERRIDE
    type/override: none
    DBG>
    
    このコマンドは上書き型が定義されていないことを表します。

SHOW VECTOR_MODE (VAXのみ)

現在のベクタ・モード(同期化または非同期化)を示します。

VAXのベクタ化されたプログラムの場合に指定できます。

フォーマット

    SHOW VECTOR_MODE

説明

現在のベクタ・モードは前回SET VECTOR_MODEコマンドで設定されたモードです。SET VECTOR_MODE コマンドを入力していなかった場合,省略時のベクタ・ モードはNONSYNCHRONIZEDです。

関連コマンド


SET VECTOR_MODE [NO]SYNCHRONIZED (VAXのみ)
SYNCHRONIZE VECTOR_MODE (VAXのみ)

    DBG> SHOW VECTOR_MODE
    Vector mode is nonsynchronized
    DBG> SET VECTOR_MODE SYNCHRONIZED
    DBG> SHOW VECTOR_MODE
    Vector mode is synchronized
    DBG>
    
    SHOW VECTOR_MODEコマンドはSET VECTOR_MODEコマンドの作用を示します。

SHOW WATCH

ウォッチポイントに関する情報を表示します

フォーマット

    SHOW WATCH

説明

SHOW WATCHコマンドは,WHEN句またはDO句,/AFTERの数などのオプションも含めて現在設定されているウォッチポイントに関する情報と, そのウォッチポイントが無効になっているかどうかを表示します。

SET WATCH/AFTER:nを使用してウォッチポイントを設定した場合,SHOW WATCH コマンドは10進整数nの現在の値,つまり最初に指定された整数値からウォッチポイント記憶位置に到達するたびに1 を引いた値を表示します。 デバッガはnの値が0になるまでウォッチポイント記憶位置に到達するたびに nを減少させていきます。0 になると,デバッガはウォッチ動作を取ります。

関連コマンド


(ACTIVATE,CANCEL,DEACTIVATE,SET) WATCH

    DBG> SHOW WATCH
    watchpoint of MAIN\X
    watchpoint of SUB2\TABLE+20
    DBG>
    
    このコマンドは2つのウォッチポイントを表示します。1つは(MAINモジュールに定義されている) 変数Xにあるもので,もう1つはSUB2\TABLE+20の記憶位置( アドレス式TABLEによって示されるアドレスに20バイト加えた位置) にあるものです。

SHOW WINDOW

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


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

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

パラメータ

window-name

画面ウィンドウ定義の名前を指定します。名前を指定しない場合またはワイルドカード文字のアスタリスク(*) を単独で指定する場合,すべてのウィンドウ定義がリストされます。 ウィンドウ名の中ではワイルドカードを使用できます。/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で始まる名前を持つすべての画面ウィンドウ定義の名前と画面部を表示します。

SPAWN

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


注意
このコマンドは,デバッガへのDECwindows Motif インタフェースでは使用できません。

フォーマット

    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チャネルを共用します。 このため,DECwindows Motifインタフェースでは, 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 ファイルに書き込まれます。

STEP

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

フォーマット

    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

VAXプロセッサでは,ベクタ命令を指定する場合, 命令ニーモニックに命令修飾子(/UNALIGNED_DATA,/VECTOR_ INSTRUCTION,/MODIFY,/0または/1)をいれることはできません。

/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は他の種類のルーチン内だけでなく, システム・ルーチン内の命令もステップ実行できるようになります。

/VECTOR_INSTRUCTION

(VAXのみ)次のベクタ命令までプログラムを実行します。STEP /VECTOR_INSTRUCTIONはSET BREAK/TEMPORARY/VECTOR_INSTRUCTION;GOと同じ働きです。

説明

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

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のみ)
/VECTOR_INSTRUCTION (VAXのみ)

次の修飾子は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つです。

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

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

デバッガの最適化されたプログラムについての詳細は,『デバッガ説明書』を参照してください。

マルチプロセス・プログラムをデバッグするためにマルチプロセス・デバッグ構成を使用している場合( 論理名DBG$PROCESSの値がMULTIPROCESSの場合) ,次の点にも注意してください。

VAXシステムでは,STEP/OVERコマンドはFortran Run-Time Libraryルーチンへと, 飛び越されずに,ステップすることになります。詳細は,『OpenVMSデバッガ説明書』を参照してください。

関連コマンド


CALL
DO
EXIT
GO
SET BREAK/EXCEPTION
SET MODE [NO]INTERRUPT
SET PROCESS
(SET,SHOW) STEP

  1. DBG> SHOW STEP
    step type: source, nosilent, by line,
               over routine calls
    DBG> STEP
    stepped to SQUARES$MAIN\%LINE 4
         4:         OPEN(UNIT=8, FILE='DATAFILE.DAT', STATUS='OLD')
    DBG>
    
    この例では,SHOW STEPコマンドはSTEPコマンドに対して現在有効になっている省略時の修飾子を示します。 この場合,STEPコマンドにはパラメータも修飾子も指定されていないため, ソース・コードの次の行を実行します。STEP コマンドの完了後,実行は4行目の先頭で中断されます。

  2. DBG> STEP 5
    stepped to MAIN\%LINE 47
        47:         SWAP(X,Y);
    DBG>
    
    このコマンドはソース・コードの次の5行を実行します。STEPコマンドの完了後, 実行は47行目の先頭で中断されます。

  3. DBG> STEP/INTO
    stepped to routine SWAP
        23: procedure SWAP (A,B: in out integer) is
    DBG> STEP
    stepped to MAIN\SWAP\%LINE 24
        24:    TEMP: integer := 0;
    DBG> STEP/RETURN
    stepped on return from MAIN\SWAP\%LINE 24 to MAIN\SWAP\%LINE 29
        29: end SWAP;
    DBG>
    
    この例では,実行はSWAPルーチンへの呼び出しで一時停止され,STEP /INTOコマンドは呼び出し先ルーチンの先頭までプログラムを実行します。STEP/RETURN コマンドはSWAPルーチンの残りの部分をそのRET命令まで( つまり,制御を呼び出し元ルーチンに戻す直前のポイントに至るまで)実行します。

  4. DBG> SET STEP INSTRUCTION
    DBG> SHOW STEP
    step type: source, nosilent, by instruction,
               over routine calls
    DBG> STEP
    stepped to SUB1\%LINE 26: MOVL     S^#4,B^-20(FP)
        26:    Z:integer:=4;
    DBG>
    
    この例では,SET STEP INSTRUCTIONコマンドは省略時のSTEPコマンド修飾子として/INSTRUCTION を設定します。これはSHOW STEPコマンドでチェックされます。STEP コマンドは次の命令を実行します。STEPコマンドの完了後, 実行はSUB1モジュールの26行目の最初の命令(MOVL)で中断されます。

SYMBOLIZE

可能な場合,メモリ・アドレスをシンボリック表現に変換します。

フォーマット

    SYMBOLIZE   address-expression[, . . . ]

パラメータ

address-expression

シンボル化の対象となるアドレス式を指定します。ワイルドカード文字のアスタリスク(*) は指定できません。

説明

アドレスが静的アドレスの場合,それは直前のシンボル名にオフセットを加えたものとしてシンボル化されます。 アドレスがコード・アドレスでもあり, そのアドレスに該当する行番号を見つけられる場合,その行番号はシンボル化の対象となります。

アドレスがレジスタ・アドレスの場合,デバッガはそのレジスタに関係する設定されているすべてのモジュールの中のすべてのシンボルを表示します。 そのようなシンボルそれぞれの完全パス名が表示されます。レジスタ名そのもの( たとえば,"%R5")も表示されます。

アドレスが,設定されているモジュール内のルーチンの呼び出しフレームにある呼び出しスタック記憶位置である場合, デバッガはそのルーチン内のシンボルで, フレーム・ポインタ(FP)またはスタック・ポインタ(SP)に相対するアドレスを持つシンボルをすべて検索します。 直前のシンボル名にオフセットを加えたものがそのアドレスのシンボル化として表示されます。 アドレス指定が複雑すぎるシンボルは無視されます。

Alphaプロセッサでは,SYMBOLIZE procedure-code-addressコマンドとSYMBOLIZE procedure-descriptor-addressコマンドは両方ともこれらのアドレスで指定されるルーチン, エントリ・ポイントまたはAda パッケージのパス名を表示します。

デバッガがアドレスのシンボル化を行えないと,メッセージが表示されます。

関連コマンド


EVALUATE/ADDRESS
SET MODE [NO]LINE
SET MODE [NO]SYMBOLIC
(SET,SHOW,CANCEL) MODULE
SHOW SYMBOL

  1. DBG> SYMBOLIZE %R5
    address PROG\%R5:
        PROG\X
    DBG>
    
    この例は,PROGルーチンのローカル変数XがR5レジスタにあることを示します。

  2. DBG> SYMBOLIZE %HEX 27C9E3
    address 0027C9E3:
        MOD5\X
    DBG>
    
    このコマンドは,整数リテラル27C9E3を16進数値として扱い,可能であればそのアドレスをシンボリック表現に変換するようにデバッガに指示します。 アドレスはMOD5モジュールのシンボルXに変換されます。

SYNCHRONIZE VECTOR_MODE (VAXのみ)

スカラ型プロセッサとベクタ型プロセッサ間で即座に同期をとるように強制します。

VAXのベクタ化されたプログラムの場合に指定できます。

フォーマット

    SYNCHRONIZE VECTOR_MODE

説明

SYNCHRONIZE VECTOR_MODEコマンドはSYNC命令とMSYNC命令を実行することにより, 強制的にスカラ型プロセッサとベクタ型プロセッサ間で即座に同期化が行われるようにします。 このコマンドの作用は次のとおりです。

SYNCHRONIZE VECTOR_MODEコマンドを入力することは,実行が中断されていたプログラム内の記憶位置でSYNC 命令とMSYNC命令を実行することと同じです。

省略時の設定では,デバッガはプログラムの実行中にスカラ型プロセッサとベクタ型プロセッサ間での同期化を強制しません(SET VECTOR_MODE NOSYNCHRONIZED)。そのような同期化を強制するには,SET VECTOR_MODE SYNCHRONIZEDコマンドを使用してください。

関連コマンド


SET VECTOR_MODE [NO]SYNCHRONIZED (VAXのみ)
SHOW VECTOR_MODE (VAXのみ)

  1. DBG> SYNCHRONIZE VECTOR_MODE
    %DEBUG-I-SYNCREPCOM, Synchronize reporting complete
    
    このコマンドはスカラ型プロセッサとベクタ型プロセッサ間で即座に同期化をとるように強制します。 この例では,診断メッセージは同期化操作が完了したことと, 保留中だったすべてのベクタ例外が許可され,通知されたことを表しています。

  2. DBG> STEP   【1】
    stepped to .MAIN.\SUB\%LINE 99
        99:         VVDIVD  V1,V0,V2
    DBG> STEP   【2】
    stepped to .MAIN.\SUB\%LINE 100
       100:         CLRL    R0
    DBG> EXAMINE/FLOAT %V2   【3】
    0\%V2
        [0]:  13.53400
        [1]:  Reserved operand, encoded as floating divide by zero
        [2]:  247.2450
         . . .
    DBG> SYNCHRONIZE VECTOR_MODE   【4】
    %SYSTEM-F-VARITH, vector arithmetic fault, summary=00000002,
                      mask=00000004, PC=000002E1, PSL=03C00010
    break on unhandled exception preceding .MAIN.\SUB\%LINE 100
       100:         CLRL    R0)
    DBG>
    
    次の番号は上の例の番号に対応しています。
    【1】
    このSTEP コマンドはVVDIVD命令を実行する直前に99行目でプログラム実行を中断する。 この例では,VVDIVD命令が浮動小数点のゼロ除算例外を起動すると想定する。
    【2】
    このSTEPコマンドはVVDIVD命令を実行する。ただし, 例外はプログラムの実行中のこの時点までは許可されない。
    【3】
    EXAMINE/FLOATコマンドはデスティネーション・レジスタV2の要素1 にデコードされた例外メッセージを表示する。これは浮動小数点のゼロ除算例外が起動され, 実行要求を保留中であることを確認するものである。
    【4】
    SYNCHRONIZE VECTOR_MODEコマンドは保留中のベクタ例外の実行要求を即座に行うよう強制する。<>

TYPE

ソース・コードの行を表示します。

フォーマット

    TYPE   [[module-name\]line-number[:line-number]
          [,[module-name\]line-number[:line-number][, . . . ]]]

パラメータ

module-name

表示の対象となるソース行を含むモジュールを指定します。行番号といっしょにモジュール名を指定する場合には, 標準のパス名表記を使用します。 つまり,モジュール名と行番号の間に円記号(\)を挿入してください。

モジュール名を指定しないと,デバッガは表示の対象となるソース行を見つけるために現在の有効範囲を使用します( 現在の有効範囲は前回のSET SCOPEコマンドで設定されます。SET SCOPEコマンドを入力していなかった場合には,PC 範囲が使用されます)。SET SCOPEコマンドで有効範囲検索リストを指定すると, デバッガはソース行を検索するために最初に指定された有効範囲に対応するモジュールだけを検索します。

line-number

コンパイラ生成行番号(1つまたは複数のソース言語文にラベルを付けるために使用される番号) を指定します。

行番号を1つだけ指定すると,デバッガはその行番号に対応するソース・ コードを表示します。

1つ1つをコンマで区切ることにより行番号のリストを指定すると,デバッガは指定された行番号のそれぞれに対応するソース・ コードを表示します。

コロン(:)で範囲内の開始行番号と終了行番号を区切り,行番号の範囲を指定すると, デバッガは指定範囲の行番号に対応するソース・コードを表示します。

1で始まり,モジュールの最大行番号以上の数字で終わる行番号の範囲を指定することにより, モジュールのソース行全部を表示できます。

ソース行を1行表示したあとは,行番号を指定しないでTYPEコマンドを入力する( つまり,TYPEを入力したあとReturnキーを押す)ことにより,同じモジュール内の次の行を表示できます。 そのあとは,この手順を繰り返すこと, つまり,ソース・プログラムを一度に1行ずつ読むことにより,次の行とそれに続く行を表示できます。

説明

TYPEコマンドは指定された行番号に対応するソース・コードの行を表示します。 ソース・コードの行を示すためにデバッガが使用する行番号はコンパイラによって作成されます。 行番号はコンパイラ生成リストと画面モードのソース表示に示されます。

TYPEコマンドでモジュール名を指定する場合,モジュールを設定しなければなりません。 特定のモジュールが設定されているかを判断するには, SHOW MODULEコマンドを使用します。次に必要であれば,SET MODULEコマンドを使用します。

画面モードでは,TYPEコマンドの出力は出力表示でもDO表示でもなく,現在のソース表示に出力されます。 ソース表示は指定された行とその前後の行で表示ウィンドウに収まるだけの行を示します。

関連コマンド


EXAMINE/SOURCE
SET (BREAK,TRACE,WATCH)/[NO]SOURCE
SET MODE [NO]SCREEN
(SET,SHOW,CANCEL) SCOPE
SET STEP [NO]SOURCE
STEP/[NO]SOURCE

  1. DBG> TYPE 160
    module COBOLTEST
       160: START-IT-PARA.
    DBG> TYPE
    module COBOLTEST
       161:         MOVE SC1 TO ES0.
    DBG>
    
    この例では,最初のTYPEコマンドは160行目を表示します。このとき,その行番号を含むモジュールを検索するために現在の有効範囲を使用します。2 番目のTYPEコマンドは行番号を指定せずに入力されており,同じモジュール内の次の行を表示します。

  2. DBG> TYPE 160:163
    module COBOLTEST
       160: START-IT-PARA.
       161:         MOVE SC1 TO ES0.
       162:         DISPLAY ES0.
       163:         MOVE SC1 TO ES1.
    DBG>
    
    このコマンドはモジュールを検索するために現在の有効範囲を使用し, 160行目から163行目までを表示します。

  3. DBG> TYPE SCREEN_IO\7,22:24
    
    このコマンドはSCREEN_IOモジュール内にある7行目と22行目から24行目までを表示します。

WHILE

指定した言語式(ブール式)が真と評価されているときに,一連のコマンドを実行します。

フォーマット

    WHILE   Boolean-expression DO (command[; . . . ])

パラメータ

Boolean-expression

現在設定されている言語でブール値(真または偽)と評価される言語式を指定します。

command

デバッガ・コマンドを指定します。複数のコマンドを指定する場合には, それぞれをセミコロン(;)で区切ってください。デバッガは,実行ごとにコマンド内のすべての式の構文をチェックしてから, それらを評価します。

説明

WHILEコマンドは現在の言語でブール式を評価します。値が真の場合には,DO 句のコマンド・リストが実行されます。すると,WHILEコマンドは手順を繰り返し, ブール式が偽と評価されるまでその式を再評価し, コマンド・リストを実行します。

ブール式が偽の場合,WHILEコマンドは終了します。

関連コマンド


EXITLOOP
FOR
REPEAT

    DBG> WHILE (X .EQ. 0) DO (STEP/SILENT)
    
    このコマンドは,Xが0ではなくなるまでプログラム内の命令をステップ実行していくようデバッガに指示します(Fortran の例)。


[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]