Jdb-breakpoints

提供:Dev Guides
移動先:案内検索

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