博主之前的编程经验很少,基本都是用输出到控制台来观察程序的运行结果,从来都没有用过debug工具,所以一直都觉得debug 好复杂,好高深,好高端,好难懂。。。总之就是不是我等新人可以接触的东西。

然后呢,看了视频才知道,debug或许有很高深的用法,但对我等新人来说,用来调试程序的话是一点都不高深,甚至比输出到控制台都要简单。接下来博主就来简单说明一下debug的用法。

ps:博主暂时只是初步接触debug,太过高深的用法还没有学到,所以用法会不定期更新。

首先,debug这个调试工具是基于断点的,什么是断点呢,就是说在程序以debug方式运行的时候,到了断点的位置会停下。

说的再多也不如动手试一下,在程序最左侧,有一个提示错误或者出现感叹号之类小图标的小长条,随便选个位置,双击,就会出现一个小蓝点,这个小蓝点就是我们设置的断点,再双击就会取消。设置断点后,在程序中右键,选Debug as,Java Application ,会提示是否进入Debug 视图,选yes,就会进入debug 的界面。

程序在断点停下后就会等待下一步操作,这时候,你可以在上方的图标中找到两个键,一个是step into,一个是step over,这两个键是什么意思呢?我们来举个例子。

比如断点到了 int i = max(a,b); 这一条语句了,而且max是你自己实现的一个方法,那么如果你点击 step over 按钮,那么程序就会执行完这一句,然后再次停下。而step into ,则不会执行完这一句,而是进入到max()方法内部然后停下。

在debug视图的右上角,有一个小方框,用来显示执行到当前这一步时内存中各变量的值,如果小方框中没有你想要的变量,你也可以在在代码中选中你想要观察的变量,点击右键,选watch,就会调出该变量的值。

如果不想一步步的观察,也可以只在想要停顿的地方设置断点,然后每一次都点击上方的Resume 按钮,这个按钮表示运行到下一个断点为止。

最后调试完记得删除所有断点。