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
\>