ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
Oracle Solaris Studio 12.3: dbx コマンドによるデバッグ Oracle Solaris Studio 12.3 Information Library (日本語) |
step コマンドは、1 ソース行または 1 文をステップ実行します (-g オプションを使ってコンパイルされた呼び出しにステップインします)。
dbx 環境変数 step_events は、ステップ実行中にブレークポイントが使用可能であるかどうかを制御します。
dbx の環境変数 step_granularity は、ソース行のステップ実行のきめ細かさを制御します。
dbx の環境変数 step_abflow は、dbx が「異常」制御フロー変更が発生しそうになっていることを検出したときに停止するかどうかを制御します。このような制御フロー変更は、siglongjmp() または longjmp() の呼び出し、あるいは例外の送出が原因で発生することがあります。
1 行をステップ実行します (呼び出しにステップイン)。関数呼び出しがステップオーバーされるマルチスレッドプログラムの場合、デッドロック状態を避けるため、その関数呼び出し中は全スレッドが暗黙的に再開されます。非活動状態のスレッドをステップ実行することはできません。
n 行をステップ実行します (呼び出しにステップイン)。
ステップアップし、現在の関数から出ます。
ステップ実行中に指定のシグナルを引き渡します。シグナルに対するシグナルハンドラが存在する場合、そのシグナルハンドラが -g オプション付きでコンパイルされていると、そのシグナルにステップインします。
指定のスレッドをステップ実行します。step up には適用されません。
指定の LWP をステップ実行します。関数をステップオーバーしたときに全 LWP を暗黙に再開しません。
現在のソースコード行から呼び出された function へのス テップインを試行します。function が指定されなかった場合、最後の関数へのステップインを試行し、step コマンドおよび step up コマンドによる長いシーケンスを防止できます。最後の関数の例としては、次のものがあります。
f()->s()-t()->last();
last(a() + b(c()->d()));
ここで
n は、ステップ実行対象の行数です。
signal はシグナル名です。
thread_id は、スレッド ID です。
lwp_id は、LWP ID です。
function は、関数名です。
明示的な lwp_id が指定されている場合のみ、step コマンドによる汎用のデッドロック回避策は無効となります。
最後のアセンブル呼び出し命令へのステップインや現在のソースコード行の関数 (指定されている場合) へのステップインが試行されている間に、step to コマンドを実行した場合、条件付き分岐があると呼び出しが受け付けられないことがあります。呼び出しが受け付けられない場合や現在のソースコード行に関数呼び出しがない場合、step to コマンドが現在のソースコード行をステップオーバーします。step to コマンドを使用する際は、ユーザー定義演算子に特に注意してください。
マシンレベルの呼び出しステップ実行については、「stepi コマンド」も参照してください。
1 行をステップ実行します (呼び出しにステップイン)。メソッド呼び出しがステップオーバーされるマルチスレッドプログラムの場合、デッドロック状態を避けるため、そのメソッド呼び出し中は全スレッドが暗黙的に再開されます。非活動状態のスレッドをステップ実行することはできません。
n 行をステップ実行します (呼び出しにステップイン)。
ステップアップし、現在のメソッドから出ます。
指定のスレッドをステップ実行します。step up には適用されません。
指定の LWP をステップ実行します。メソッドをステップオーバーしたときに全 LWP を暗黙に再開しません。