本章介绍断点的概念以及如何在程序中设置断点.断点在调试时在特定代码行执行程序时会引入显式停止或暂停.在执行程序中获取有关程序中变量的知识非常有用.
语法
以下命令在特定行号处设置断点:
> stop at:
以下命令在特定方法或特定变量上设置断点:
> stop in:< 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会话
以下命令启动JDB会话用于调试的Add类:
\> jdb Add
步骤2:设置断点
以下命令在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:11The application exited\>