JDB-ブレークポイント
この章では、ブレークポイントの概念と、プログラムにブレークポイントを設定する方法について説明します。ブレークポイントは、デバッグ中に特定のコード行でプログラムの実行を明示的に停止または一時停止します。プログラムの実行時に、プログラム内の変数に関する知識を習得すると便利です。
構文
次のコマンドは、特定の行番号にブレークポイントを設定します。
> stop at <class name>:<Line no>
次のコマンドは、特定のメソッドまたは特定の変数にブレークポイントを設定します。
> stop in <class name>:< Method name | Variable name>
例
次の例は、クラスにブレークポイントを設定する方法を示しています。
public class Add
{
public int addition( int x, int y)
{
int z = x + y;
return z;
}
public static void main( String ar[ ] )
{
int a = 5, b = 6;
Add ob = new Add();
int c = ob.addition(a,b);
System.out.println("Add: " + c);
}
}
上記のファイルをAdd.javaとして保存します。次のコマンドを使用して、このファイルをコンパイルします。
\>javac Add.java
デバッグ
デバッグの例を見てみましょう。ここでは、main()にブレークポイントを設定してデバッグプロセスを開始します。以下に、デバッグプロセスで実行する手順を示します。
ステップ1:JDBセッションを開始する
次のコマンドは、デバッグのためにAddクラスでJDBセッションを開始します。
\> jdb Add
ステップ2:ブレークポイントを設定する
次のコマンドは、Addクラスのmain()メソッドにブレークポイントを設定します。
> stop in Add.main
ブレークポイントが正常に設定されると、次の出力が表示されます。
Deferring breakpoint Add.main.
It will set after the class is loaded.
>
ステップ3:デバッグを開始する
次のコマンドは、クラスAddの実行を開始します。
> run Add
このコマンドを実行すると、次の出力が表示されます。この出力では、実行がブレークポイントの位置、つまりmain()関数で停止していることがわかります。
mainメソッドの最初の行、つまり「int a = 5、b = 6;」で実行が停止します。またはコードの行番号:11。この情報は出力で確認できます。
ステップ4:実行を続行する
次のコマンドは、プログラムの実行を続行します。
cont
残りの実行部分と出力は次のようになります。
> Add:11
The application exited
\>