1.5 程序调试

视频讲解:资源包\Video\01\1.5程序调试.mp4

img

读者在程序开发过程中会不断地体会到程序调试的重要性。为验证Java单元的运行状况,以往会在调用某个方法的开始和结束位置分别使用System.out.println()方法输出状态信息,并根据这些信息判断程序执行状况,但这种方法比较原始,而且经常导致程序代码混乱(输出的都是System.out.println()方法)。

本节将简单介绍Eclipse内置的Java调试器的使用方法,使用该调试器可以设置程序的断点,实现程序的单步执行,也可以在调试过程中查看变量和表达式的值,这样就避免了在程序中编写大量的System.out.println()方法来输出调试信息。

使用Eclipse的Java调试器首先要设置程序断点,然后使用单步调试分别执行程序代码的每一行。示例代码如下:

img

1.设置断点

设置断点是程序调试中必不可少的手段,Java调试器每次遇到程序断点时都会将当前线程挂起,即暂停当前程序的运行。

在Java编辑器中双击显示代码行号的位置,可实现为当前行添加与删除断点;或者在显示代码行号的位置单击鼠标右键,在弹出的快捷菜单中选择ToggleBreakpoint,也可实现断点的添加与删除。以在“System.out.println("输出1行");”前添加断点为例,如图1.29所示。

img

图1.29 在Java编辑器中添加断点

2.以调试方式运行Java程序

要在Eclipse中调试MyTest程序,可以在Eclipse中的MyTest.java文件处的空白位置上单击鼠标右键,在弹出的快捷菜单中选择Debug As→选择1 Java Application。调试器将在断点处挂起当前线程,使程序暂停,如图1.30所示。

img

图1.30 程序执行到断点后暂停

3.程序调试

程序执行到断点后暂停,可以通过Debug视图工具栏上的按钮执行相应的调试操作,如运行、停止等。Debug视图如图1.31所示。

img

图1.31 Debug视图

(1)单步跳过

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

(2)单步跳入

在Debug视图工具栏中单击img按钮或按下F5键,执行该操作将跳入调用方法或对象的内部单步执行程序并暂挂线程。