一
本次任务实现的是一个java的程序调试。
首先本次进行调试的一个程序是实现从1累加到100的功能,是在IDEA下进行编写的。如图所示:
将其运行之后得到的结果如图所示:
把第12行的输出语句给取消掉注释之后再运行一次得到的结果如图所示:
这里由于输出结果太多,所以只截取到了一部分。不过可以看到,在加了这个循环中的输出语句之后,就可以清楚的看到每次循环所经历的一个过程,所得到的结果。
当然不仅只能这样来进行观察程序的运行,我们可以使用IDEA的Debug功能。在编程的时候使用Debug有很多的好处,比如说能够跟踪变量,可以看到变量值的变化。或者是能够迅速的找到程序中所出现的错误。
首先第一步就是要设置断点,如图所示:
断点是要设置到一个有效的代码行左边的空白处,这里的断点是表示当手动Debug来运行程序时,程序会在断点之前停止运行。如图所示:
运行Debug
执行完Dubug之后会出现一个Debug的调试窗口,如图所示:
当点击的时候会执行代码的下一行,它的快捷键是F7,如图所示:
右边显示的sum=0就是我们点击就能得到的下一行代码执行的内容,右边这个方框也就是变量值的显示区域。同时代码行的右边也能够看到变量的值,这里sum的初始值为0,如图所示:
再次点击,进入到循环中,i的初始值为1,如图所示:
再点击一次就能够得到第一次循环后sum的值为1,如图所示:
代码行处也是显示了变量的值,如图所示:
值得一提的是,每运行到一行程序时代码行都会有这种与其他代码行不同颜色的提示。同时main后面的数字也是告诉我们执行到哪一行。如图所示:
这里就是表示执行到main方法得第10行。
而如果要直接运行完整个程序就可以点击左边的 快捷键是F9,就可以得到运行后的结果,结果是在
里面进行查看。如果想要重新Debug,是点击
,快捷键是Ctrl+F5。当然要结束Debug,可以点击
,快捷键是ctrl+F2。 如图所示:
按下F9得到运行得结果,在Console中查看,如图所示:
二
接下来对程序进一步的改进,将循环体给放入到了一个方法中,如图所示:
同样,如果将第17行的输出语句给取消注释之后也是能够观察到运行过程,如图所示:
然后把第17行的语句注释掉进行Debug调试,在第10行调用方法语句处加上断点如图所示:
这个时候如果点击,就会直接往下运行,因为
表示的是步过,就是直接往下走,如果这一行上有方法不会进入到方法体当中,其快捷键是F8,如图所示:
点击一次 后,直接跳过方法运行到第11行,并且能够直接从Console中看到方法运行的结果,如图所示:
点击第二次 后,直接结束,如图所示;
而如果使用的是仍然是就能够进入到方法内部,因为
表示的是步入,如果当前行有方法就能够直接进入到方法内部,不过只能进入到自行定义的方法中,不能进入到官方类库中的方法,快捷键是F7。如图所示:
可以看到左下角的Debug框中也表示了进入到sum方法,运行到第15行。接下来继续点击就和前面所讲的一样,反复进行循环,循环结束后,就得到运行结果,程序结束。
而如果在运行到方法中,想要跳出方法,直接将方法运行结束,就要点击,如图所示:
表示的是步出,就是从方法内部回到方法的调用处,快捷键是shift+F8.如图所示:
在方法体内点击步出之后就直接跳到了第11行。
所以当在对java程序进行调试的时候,如果不要进入方法中查看,就可以直接使用步过进行查看.。如果要进入方法中查看,就需要使用
步入进行查看。在方法之中想要退出到方法调用处需要使用
步出。