前へ | 次へ | 目次 | 索引 |
STEP コマンドの省略時の修飾子(/LINE,/INTO など)を設定します。
SET STEP step-default[,...]
step-default
STEP コマンドの省略時の設定を指定します。次のキーワード(STEP コマンドの修飾子と同じ)を指定できます。
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]SYSTEMSTEP コマンドで省略時の設定以外の修飾子を指定すると,そのコマンドの実行中だけ,現在の 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 ステップとして実行されます。
タスキング・プログラム(マルチスレッド・プログラムとも呼ばれます)の 1 つまたは複数のタスクの属性を変更します。
SET TASK [task-spec[,...]]
task-spec
タスク値を指定します。次のいずれかの形式を指定します。
- イベント・ファシリティが THREADS である場合。
- プログラムで宣言されているタスク(スレッド)ID 番号,または結果がタスク ID 番号となる言語式。
- 2 などのタスク ID 番号(SHOW TASK コマンドの実行で表示される)
- イベント・ファシリティが ADA である場合。
- プログラムで宣言されているタスク(スレッド)名,または結果がタスク値となる言語式。パス名も使用できます。
- %TASK 2 などのタスク ID(SHOW TASK コマンドの実行で表示される)
- 次のタスク組み込みシンボルのうちの 1 つ。
%ACTIVE_TASK GO,STEP,CALL,または EXIT コマンドの実行時に実行されるタスク。 %CALLER_TASK Ada プログラムにのみ適用される。accept 文の実行時に,その accept 文に対応するエントリを呼び出したタスク。 %NEXT_TASK デバッガのタスク・リスト中で可視タスクの次のタスク。タスクの順番は自由に決められますが,その順番は 1 回のプログラム実行の中で不変です。 %PREVIOUS_TASK デバッガのタスク・リスト中で可視タスクの前のタスク。 %VISIBLE_TASK シンボル,レジスタ値,ルーチン呼び出し,ブレークポイントなどの検索時に現在のコンテキストになっている呼び出しスタックとレジスタ・セットを持つタスク。
ワイルドカード文字のアスタリスク(*)は使用できません。代わりに /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 コマンドを使用してください。または,実行の制御を得るには,ブレークポイントを効果的な位置に配置します。
- クエリー型のアクションには,SET TASK/VISIBLE コマンドを使用
- 実行の制御を得るには,ブレークポイントを効果的な位置に配置する
- PTHREAD tset -a thread-number コマンドを使用する
/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 つまたは複数の指定されたタスクの動作を切り離して観察できます。
前へ | 次へ | 目次 | 索引 |