HP OpenVMS Systems Documentation |
| 前へ | 次へ | 目次 | 索引 |
可視プロセスの設定,または動的プロセスの設定の許可/禁止を行います。マルチプロセス・プログラムをデバッグする場合のみ使用 ( 保持デバッガのみ )。
SET PROCESS [process-spec[,...]]
process-spec
現在デバッガの制御下にあるプロセスを指定します。次のいずれかの形式で指定します。
[%PROCESS_NAME] process-name スペースや小文字を含まないプロセス名。プロセス名にはワイルドカード文字 (*) を含めることができる。 [%PROCESS_NAME] " process-name" スペースまたは小文字を含むプロセス名。二重引用符 (") の代わりに,一重引用符を (') 使用することもできる。 %PROCESS_PID process_id プロセス識別子 (PID,16 進数)。 [%PROCESS_NUMBER] process-number
(または %PROC process-number)デバッガの制御下に入ったときにプロセスに割り当てられた番号。新しい番号は,1 から順番に各プロセスに割り当てられる。 EXIT コマンドまたは QUIT コマンドによってプロセスが終了した場合,そのデバッグ・セッション中にその番号が再割り当てされることがある。プロセス番号は SHOW PROCESS コマンドの実行で表示される。プロセスは,組み込みシンボル %PREVIOUS_PROCESS および %NEXT_PROCESS によってインデックスづけできるように,循環リスト内に順序づけされる。 process-set-name DEFINE/PROCESS_SET コマンドで定義された,プロセスのグループを表すシンボル。 %NEXT_PROCESS デバッガの循環プロセス・リスト中で可視プロセスの次のプロセス。 %PREVIOUS_PROCESS デバッガの循環プロセス・リスト中で可視プロセスの前のプロセス。 %VISIBLE_PROCESS シンボル,レジスタ値,ルーチン呼び出し,ブレークポイントなどの検索時に現在のコンテキストになっているスタック,レジスタ・セット,およびイメージを持つプロセス。
すべてのプロセスを指定するためにワイルドカード文字のアスタリスク (*) を使用することもできます。 /[NO]DYNAMIC 修飾子とともに,プロセスを指定しないでください。
/DYNAMIC (省略時の設定)
/NODYNAMIC
動的プロセス設定を許可するか禁止するかを制御します。動的プロセス設定を許可する (/DYNAMIC) と,デバッガが実行を中断しそれに対するプロンプトを表示するたびに,実行が中断されたプロセスが自動的に可視プロセスになります。動的プロセス設定を禁止する (/NODYNAMIC) と可視プロセスはそのままで,別のプロセスを SET PROCESS/VISIBLE コマンドで指定するまで変わりません。/VISIBLE
指定されたプロセスを可視プロセスにします。この結果,デバッグ・コンテキストは指定されたプロセスに切り換えられ,シンボルの検索やブレークポイントの設定などはそのプロセスのコンテキスト内で実行されます。 /VISIBLE を使用する場合は,プロセスを 1 つだけ指定しなければなりません。
SET PROCESS コマンドは,可視プロセスの設定,現在のプロセス・セットの定義,または可視プロセスの定義を行います。省略時の設定では,コマンドは可視プロセスのコンテキストで実行されます。( 現在コンテキストをデバッグ中であるプロセス )。シンボルの検索やブレークポイントの設定などは,可視プロセスのコンテキスト内で実行されます。
省略時の設定では,動的プロセス設定が許可され,/[NO]DYNAMIC で制御されます。また,動的プロセス設定を許可すると,デバッガがプログラムの実行を中断し,それに対するプロンプトを表示するたびに,実行が中断されたプロセスが自動的に可視プロセスになります。
関連コマンド
CALL
EXIT
GO
QUIT
SHOW PROCESS
STEP
| #1 |
|---|
all> SET PROCESS TEST_Y all> SHOW PROCESS Number Name Hold State Current PC * 2 TEST_Y YES break PROG\%LINE 71 all> |
この SET PROCESS TEST_Y コマンドは,TEST_Y プロセスを可視プロセスにします。省略時の設定により,SHOW PROCESS コマンドは可視プロセスに関する情報を表示します。
デバッガ・プロンプト文字列をユーザが指定するものに変更します。
SET PROMPT [prompt-parameter]
prompt-parameter
新しいプロンプト文字列を指定します。文字列にスペース,セミコロン (;),または小文字が含まれる場合,それを二重引用符 (") または一重引用符 ( ') で囲まなければなりません。文字列を指定しないと,現在のプロンプト文字列のままです。省略時の設定では,シングル・プロセス・プログラムをデバッグしている場合,プロンプト文字列は DBG> です。
省略時の設定では,マルチプロセス・プログラムをデバッグしている場合,プロンプト文字列は現在のプロセス・セットの名前の後に右山括弧 (>) を続けたものになります。マルチプロセス・プログラムをデバッグしているときは,SET PROMPT コマンドを使用するべきではありません。
/POP
/NOPOP (省略時の設定)
(VWS を実行するワークステーションにのみ適用されます。) /POP 修飾子を使用すると,デバッガが入力を促すプロンプトを表示したときにデバッガ・ウィンドウは他のウィンドウより上にポップアップし,キーボードに接続されます。/NOPOP 修飾子はこの動作を禁止します。デバッガ・ウィンドウは他のウィンドウにポップアップされず,デバッガが入力を促すプロンプトを表示してもキーボードには自動的に接続されません。
SET PROMPT コマンドを使用すると,デバッガのプロンプト文字列をユーザが指定するものに変更できます。マルチプロセス・プログラムをデバッグしている場合,SET PROMPT コマンドを使用しないでください。
ワークステーションでデバッガを使用している場合,/[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>" へ戻ります。
整数データを入力するときと表示するときの基数を設定します。 /OVERRIDE とともに指定すると,すべてのデータが,指定された基数の整数データとして表示されます。
SET RADIX radix
radix
設定する基数を指定します。次のいずれかのキーワードを指定できます。
BINARY 基数を 2 進数に設定する。 DECIMAL 基数を 10 進数に設定する。これは,BLISS, MACRO--32 ,および MACRO--64 (Alpha および I64 のみ) を除くすべての言語における省略時の設定である。 DEFAULT 基数を言語の省略時の設定にする。 OCTAL 基数を 8 進数に設定する。 HEXADECIMAL 省略時の基数を 16 進数に設定する。これは, BLISS, MACRO--32 ,および MACRO--64 (Alpha および I64 のみ) の省略時の設定である。
/INPUT
入力基数 (整数データを入力するときの基数) だけを,指定された基数に設定します。/OUTPUT
出力基数 (整数データを表示するときの基数) だけを,指定された基数に設定します。/OVERRIDE
すべてのデータを指定された基数の整数データとして表示します。
現在の基数設定は,デバッガが次の状況で整数データを解釈し,表示する方法に影響を与えます。
- アドレス式または言語式で指定する整数データ
- EXAMINE コマンドおよび EVALUATE コマンドによって表示される整数データ
データの入力と表示の省略時の基数はほとんどの言語の場合どちらも 10 進数です。例外は BLISS と MACRO です。これらの言語での省略時の基数は 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 進数の基数で解釈するように指定できます。
関連コマンド
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 location[,...]
location
パス名接頭識別子を使用しないで指定したシンボルを解釈するときに使用するプログラム領域 ( 有効範囲 ) を示します。 /CURRENT または/MODULE を指定しない場合,記憶位置は次のいずれかを指定できます。
記憶位置パラメータを 2 個以上指定すると,有効範囲検索リストが設定されます。デバッガは最初のパラメータを使用してシンボルを解釈できないと,次のパラメータを使用し,正しくシンボルを解釈するか指定されたパラメータがなくなるまで,リストに並んでいる順にパラメータを使用します。
/CURRENT
省略時の検索リストに似た有効範囲検索リスト (0,1,2,...,n) を設定します。ただし,コマンド・パラメータとして指定された数値の有効範囲で開始します。有効範囲 0 は PC 有効範囲であり,nは,呼び出しスタック内の呼び出し数です。SET SCOPE/CURRENT を使用する場合,次の規則と動作に注意してください。
- コマンドを入力するときに省略時の有効範囲検索リストが有効でなければならない。省略時の有効範囲検索リストを復元するには,CANCEL SCOPE コマンドを入力する。
- 指定するコマンド・パラメータは,1 つだけであり,0 から n までの 10 進整数でなければならない。
- 画面モードの場合,コマンドは定義済みのソース・ディスプレイ SRC,定義済みの機械語命令ディスプレイ INST,定義済みのレジスタ・ディスプレイ REG をそれぞれ更新して,シンボル検索を開始する呼び出しスタック上のルーチンを表示する。
- プログラムの実行を再開すると,省略時の有効範囲検索リストが復元される。
/MODULE
コマンド・パラメータとして指定された名前がモジュール名であり,ルーチン名ではないことを指定します。モジュール名をコマンド・パラメータとして指定し,そのモジュール名がルーチン名と同じであることを指定する場合は,/MODULE を使用しなければなりません。
省略時の設定では,デバッガは,有効範囲検索リスト 0,1,2,..., n に従い,パス名接頭識別子が指定されていないシンボルを検索します。n は,呼び出しスタック内に存在する呼び出し数です。この有効範囲検索リストは,現在のPC 値に基づいており,プログラムの実行に伴い動的に変化します。省略時の有効範囲検索リストは次のように指定します。すなわち,EXAMINE X などのシンボル検索は最初に,現在実行中のルーチン ( 有効範囲 0 すなわち PC 有効範囲ともいいます ) で X を検索し,そこで X が見つからなければ,そのルーチンの呼び出し元 ( 有効範囲 1) で検索するというように呼び出しスタックのレベルを下げていくことを指定します。有効範囲 n 内で X が見つからなければ,実行時シンボル・テーブル (RST) の残り,すなわちすべての設定されたモジュールとグローバル・シンボル・テーブル (GST) を検索します。ほとんどの場合は,この省略時の有効範囲検索リストを使用すれば,言語規則に準拠した自然な方法であいまいさを解消できます。ただし,何回実行しても定義されているシンボルにアクセスできないときは,次のいずれかの方法を使用します。
- パス名接頭識別子を付けてシンボルを指定する。パス名接頭識別子は,シンボルを別々のものとして指定するのに必要な,ネストしているプログラム・ユニット ( たとえば, module\routine\block) で構成される。例を次に示す。
DBG> EXAMINE MOD4\ROUT3\X DBG> TYPE MOD4\27
- SET SCOPE コマンドを使用してシンボル検索用の新しい省略時の有効範囲 ( すなわち有効範囲検索リスト ) を設定する。この結果,次の例に示すように,パス名接頭識別子を付けずにシンボルだけを指定できる。
DBG> SET SCOPE MOD4\ROUT3 DBG> EXAMINE X DBG> TYPE 27
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 コマンドを使用すると,現在の有効範囲検索リストを妨害する可能性があるためです。
関連コマンド
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>
|
前へ 次へ 目次 索引