在程序开发过程中会不断的体会到程序调试的重要性,为验证Java单元的运行状况,我们经常在某个方法调用的开始和结束位置分别使用System.out.println()方法输出状态信息,根据这些信息判断程序执行状况,这是非常古老的程序调试方法,而且经常导致程序代码混乱(导出都是System.out.println()方法)。
简单介绍Eclipse内置的Java调试器的使用方法,使用该调试器可以设置程序的断点、实现程序单步执行、在调试过程中查看变量和表达式的值等调试操作,这样可以避免在程序中编写大量的System.out.println()方法输出调试信息。
使用Eclipse的Java调试器需要设置程序断点,然后使用单步调试分别执行程序代码的每一行。
设置断点是程序调试中必不可少的有效手段,Java调试器每次遇到程序断点时,都会将当前线程挂起,即暂停当前程序的运行。
可以在Java编辑器中显示代码行号的位置,通过鼠标双击操作添加或删除当前行的断点,或者在当前行号的位置单击鼠标右键,在弹出菜单中选择“切换断点”命令实现断点的添加与删除,如图1所示。
图1 Java编辑器中的断点
在Eclipse中调试HelloJava程序可以在“包资源管理器”视图中,右键单击HelloJava文件,在弹出菜单中选择“调试方式”/“ Java应用程序”命令。图1中在第4行代码设置了断点,调试器将在该断点处挂起当前线程,使程序暂停。如图2所示。
图2 程序执行到断点后暂停
程序执行到断点,被暂停后,可以通过调试视图工具栏上的按钮,执行相应的调试操作,例如运行、停止等。调试视图如图3所示。
图3 调试视图
l 单步跳过
在调试视图的工具栏中单击按钮或按〈F6〉键,将执行单步跳过操作。它是指运行单独的一行程序代码,但是不进入调用方法的内部,然后跳到下一个可执行点并暂挂线程。
说明:不停的执行单步跳过操作,会每次一行的执行程序代码,直到程序结束或等待用户操作。
l 单步跳入
在调试视图的工具栏中单击按钮或按〈F5〉键,将执行该操作将跳入调用方法或者对象的内部单步执行程序并暂挂线程。