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


前へ 次へ 目次 索引



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

指定されたタスクに終了のマークをつけます。指定されたタスクが実行を再開したあとに次に認められる時点で終了します。

Compaq Ada タスクの場合,指定されたタスクに Ada 強制終了文を実行することと同じであり,これらのタスクは異常として示されます。依存タスクにも終了のマークがつけられます。

POSIX Threads スレッドの場合,次のコマンドを使用します。


PTHREAD tset -c thread-number 

/ACTIVE

指定されたタスクをアクティブ・タスクにします。これは,コマンド STEP,GO,CALL または EXIT を実行したときに実行されるタスクです。この修飾子を使用すると,タスクは新しいアクティブ・タスクに切り替わり,そのタスクが可視タスクになります。指定されたタスクは,RUNNING 状態か READY 状態になければなりません。/ACTIVE を使用する場合,タスクを 1 つ指定しなければなりません。

SET TASK/ACTIVE コマンドは,VAX 上の Compaq Adaでのみサポートされています。

POSIX Threads プログラムまたは Alpha プログラム上の Compaq 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 ランデブまたは POSIX Threads 同期化の実行中)にあとで優先順位を変更できなくなるわけではありません。この修飾子は,タスクのスケジューリング方法には影響を与えません。

/RESTORE

(Compaq Ada on VAX のみ)

指定されたタスクの優先順位を,作成されたときの優先順位に復元します。タスクのスケジューリング方法には影響を与えません。

/TIME_SLICE=t

Supported for Compaq Ada on VAX only. タイム・スライス期間を t の値に設定します。ここで,t は秒数を表す 10 進整数または実数値です。ここで設定された値は,プログラム内で指定されたタイム・スライス値(指定されている場合)を上書きします。タイム・スライスを禁止するには,/TIME_SLICE=0.0 を使用します。/TIME_SLICE はイベント機能が ADA の時のみ有効になります。

/VISIBLE

指定されたタスクを可視タスクにします。これは,シンボル,レジスタ値,ルーチン呼び出し,ブレークポイントなどの検索時に現在のコンテキストになっている呼び出しスタックとレジスタ・セットを持つタスクです。EXAMINE などのコマンドは,可視タスクで出力先が指定されます。/VISIBLE 修飾子はアクティブ・タスクには影響を与えません。/VISIBLE を使用する場合は,タスクを 1 つ指定しなければなりません。

説明

注意

SET TASK および SET THREAD は同じ意味のコマンドです。これらのコマンドの動作は同じです。

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 つまたは複数の指定されたタスクの動作を切り離して観察できます。


前へ 次へ 目次 索引