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() 函数处。

Breakpoints

执行在 main 方法的第一行停止,即在 "int a=5, b=6;" 或代码中的第 11 行。您可以在输出中观察到此信息。

步骤 4:继续执行

以下命令继续程序执行

cont

它为您提供其余执行部分和输出,如下所示

> Add:11
The application exited
\>
广告