Eclipse怎么利用Debug模式快速调试Bug
Eclipse怎么利用Debug模式快速调试Bug
Debug模式是在eclipse的使用中非常常见的对程序进行debug的方式,通过debug模式我们可以更加方便快捷的定位问题出现的位置,并且找到原因进行修改.但是很多小白同学对debug模式的使用方式还不是很清楚,那么我这边会带着大家去了解一下eclipse的debug模式的使用;
1、Debug模式的启动方式
在eclipse中,我们运行Java程序的方式一般有两种,分别是启动main方法和启动服务器,那么针对这两种方法我们启动debug模式的方法也很简单,如下:
Main方法的debug模式和正常运行main方法的方式区别在一个选择 Run As,一个选择Debug As ,其余都是一样的
启动服务器的debug模式,我们以tomcat为例,正常启动tomcat和debug启动的方式区别在于选项不同,使用debug模式启动只需要在server上鼠标右键选择debug即可:
2、断点breakpoint的使用
我们可以在Java代码的行号处使用鼠标双击出一个断点,这样当我们的程序使用debug模式运行到断点处时,程序会暂停在这里,等待下一步运行的指令,如图:
3、Debug视图
如果我们在第一次运行debug模式的时候,程序运行到断点处会出现一个提示,如图:
遇到这个提示说明我们没有默认选择debug模式先显示的视图,点击yes的话会进入到debug视图,点击no的话会停留到当前的视图模式(Java或JavaWeb),勾选了 Remember my decision的话 ,下次会不再出现这个提示,并且默认进入刚才选择的视图.一般来说我们不推荐使用debug视图,因为debug视图的窗口过多会显得很乱,如下图:
我们可以看到在debug视图下eclipse为我们展示了当前程序内各个变量的值,那其实我们在保持原有视图的情况下,我们把鼠标放在对应的变量上也是可以看到变量值的,如下图:
4、Debug运行控制按钮
我们看到了断点对于debug模式的重要性,那么当程序停在了断点处时,我们要使用按钮对程序进行控制:运行下一步或运行到底等等,在上面我们已经看到了正常情况下debug的控制按钮在哪里,那么每个按钮都是做什么的呢?下面这里我会详细说明:
F8 运行到当前方法的下一个断点,或者当前方法调用的子孙方法的下一个断点或如果没有下一个断点则程序直接运行完毕;(不常用)
Ctrl+F2 结束当前主程序或者停止server
F5 进入当前断点所在子方法(不常用)
F6 进入当前断点所在方法的下一步(常用)
F7 对应F5使用,当进入子方法后返回父方法(不常用)
5、JavaWeb的debug调试
我们刚才看了eclipse的debug调试方法,那么我们看下在Javaweb项目中的应用,一般在我们进行调试的时候,会把断点打在web项目的action或controller对应请求的第一行代码上,这样做的好处是前台请求进入后台后第一时间或被断点拦截,如果断点没有拦截则说明前台请求没有进入到后台,原因无外乎前台没有发出请求或前台的请求发出了但没有进入到方法体(404或403或被拦截),正常会进入到断点处,如下图:
这时我们可以使用断点运行控制按钮进行控制,一般使用F6一步一步在方法体中运行,如果运行到某一行出错,则我们重新运行请求后,在该行打断点,debug进行到该断点后,我们找到该方法调用的方法,在该被调用的方法内打断点,然后按F6进行到该断点,继续debug即可,例如上面的程序在116行报错,则我们如下操作:
如果运行到这里扔报错的话,我们继续找到调用的方法继续debug即可.