程序调试
读者在将来的程序开发过程中会不断地体会到程序调试的重要性。为验证 Java 单元的运行状况,以往程序开发人员会在某个方法调用的开始和结束位置处分别使用 System.out.println() 方法输出状态信息,并根据这些信息判断程序执行状况,但这种方法比较原始,而且经常导致程序代码混乱(导出的都是 System.out.println() 方法)。
本节将简单介绍如何在 IDEA 和 Eclipse 中执行设置程序的断点、实现程序的单步执行、在调试过程中查看变量和表达式的值等操作,这样可以避免在程序中编写大量的 System.out.println() 方法输出调试信息。
断点
设置断点是程序调试中必不可少的手段,Java 调试器每次遇到程序断点时都会将当前线程挂起,即暂停当前程序的运行。
可以在 IDEA 中所显示的代码行号的右边单击添加或删除当前行的断点,如图2.71 所示。
可以在 Eclipse 中所显示的代码行号的位置处双击添加或删除当前行的断点,或者在当前行号的位置处右击,在弹出的快捷菜单中选择 Toggle Breakpoint 命令实现断点的添加与删除,如图2.72 所示。


以调试方式运行Java程序
要在 IDEA 中以调试方式运行 Main.java,可以在 Main.java 的工作区内右击,在弹出的快捷菜单中选择 Debug 'Main.main()' 命令。调试器将在该断点处挂起当前线程,使程序暂停,如图2.73 所示。

要在 Eclipse 中调试 HelloJava 程序,可以右击 HelloJava.java 文件,在弹出的快捷菜单中选择 Debug As→Java Application 命令。如图2.74 所示,在第 7 行代码处设置了断点,调试器将在该断点处挂起当前线程,使程序暂停。

程序调试
程序执行到断点处被暂停后,可以通过 “调试” 视图工具栏上的按钮执行相应的调试操作,如运行、停止等。
下面对 “调试” 视图中的两个关键操作进行简要介绍。
单步跳过。
在如图2.75 所示的IDEA的 “调试” 视图的工具栏中单击按钮或按 F8 键,将执行单步跳过操作,即运行单独的一行程序代码,但是不进入调用方法的内部,然后跳到下一个可执行点并暂挂线程。

在如图2.76 所示的 Eclipse 的 “调试” 视图的工具栏中单击按钮或按 F6 键,将执行单步跳过操作,即运行单独的一行程序代码,但是不进入调用方法的内部,然后跳到下一个可执行点并暂挂线程。

不停地执行单步跳过操作,会每次执行一行程序代码,直到程序结束或等待用户操作。 |
单步跳入。
-
在如图 2.75 所示的 IDEA 的 “调试” 视图的工具栏中单击按钮或按 F7 键,将跳入调用方法或对象的内部,单步执行程序并暂挂线程。
-
在如图 2.76 所示的 Eclipse 的 “调试” 视图的工具栏中单击按钮或按 F5 键,将跳入调用方法或对象的内部,单步执行程序并暂挂线程。