Jdb-stepping
JDB-ステッピング
この章では、プログラムのデバッグでステッピングの概念を使用する方法について説明します。 ステップ実行は、1行ずつステップ実行してコードを実行できるデバッガー機能です。 これを使用して、コードの各行を調べて、意図したとおりに動作していることを確認できます。
次のコマンドは、ステッピングプロセスで使用されます。
- ステップ:次の実行行へのステップ
- リスト:コードのどこにいるかを調べます
- cont:残りの実行を継続します
例
次の例では、前の章で使用したAddクラスを使用します。
上記のファイルをAdd.javaとして保存します。 次のコマンドを使用してこのファイルをコンパイルします。
Addクラスのmain()メソッドにブレークポイントが設定されていると仮定しましょう。 次の手順は、Addクラスでステッピングを適用する方法を示しています。
ステップ1:ジョブを実行する
次のコマンドは、Addという名前のクラスの実行を開始します。
このコマンドを実行すると、次の出力が表示されます。 この出力では、実行がブレークポイント位置、つまりmain()メソッドで停止していることがわかります。
mainメソッドの最初の行、つまり「int a = 5、b = 6;」で実行が停止しますまたはコードの行番号:11。 出力でこの情報を確認できます。
ステップ2:コードのステップ
次のコマンドは、実行を次の行に進めます。
これで、実行手順は行番号12になります。 次の出力が表示されます。
ステップ3:コードをリストする
次のコマンドはコードをリストします。
次の出力が得られます。 Listコマンドを使用して、プログラム制御が到達したコード内の行を知ることができます。 プログラムコントロールの現在の位置を示す次のスクリーンショットの矢印マーク⇒に注意してください。
ステップ4:実行を継続する
次のコマンドは、コードの実行を継続します。
このコマンドは、コードの残りの行の実行を継続します。 出力は次のとおりです。
一般に、ステッピングには3つのタイプがあります。
- ステップイン
- ステップオーバー
- 踏みでる
ステップイン
このコマンドを使用すると、コードの次の行に進むことができます。 コードの次の行が関数呼び出しの場合、関数の一番上の行でコントロールを駆動することにより、関数に入ります。
次のコードでは、矢印マークがコード内のコントローラーを定義しています。
ステップオーバー
また、Step Overは次の行を実行します。 ただし、次の行が関数呼び出しの場合、その関数はバックグラウンドで実行され、結果が返されます。
例を挙げましょう。 次のコードでは、矢印マークがコード内のコントロールを定義しています。
踏みでる
Step Outは次の行を実行します。 次の行が関数呼び出しの場合、それはスキップされ、関数の実行はコードの残りの行から続行されます。
例を挙げましょう。 次のコードでは、矢印マークがコード内のコントローラーを定義しています。