JavaWeb的debug调试

时间:2024-04-13 22:28:00

Eclipse中的debug模式使用指南

本文转载自链接:https://blog.****.net/qq_42505024/article/details/81139797

Eclipse中的debug模式使用指

Debug模式是在eclipse的使用中非常常见的对程序进行debug的方式,通过debug模式我们可以更加方便快捷的定位问题出现的位置,并且找到原因进行修改.但是很多小白同学对debug模式的使用方式还不是很清楚,那么我这边会带着大家去了解一下eclipse的debug模式的使用;

  1.     Debug模式的启动方式

在eclipse中,我们运行Java程序的方式一般有两种,分别是启动main方法和启动服务器,那么针对这两种方法我们启动debug模式的方法也很简单,如下:

Main方法的debug模式和正常运行main方法的方式区别在一个选择 Run As,一个选择Debug As ,其余都是一样的

JavaWeb的debug调试

启动服务器的debug模式,我们以tomcat为例,正常启动tomcat和debug启动的方式区别在于选项不同,使用debug模式启动只需要在server上鼠标右键选择debug即可:

JavaWeb的debug调试

2.断点breakpoint的使用

我们可以在Java代码的行号处使用鼠标双击出一个断点,这样当我们的程序使用debug模式运行到断点处时,程序会暂停在这里,等待下一步运行的指令,如图:

JavaWeb的debug调试

3.Debug视图

如果我们在第一次运行debug模式的时候,程序运行到断点处会出现一个提示,如图:

JavaWeb的debug调试

遇到这个提示说明我们没有默认选择debug模式先显示的视图,点击yes的话会进入到debug视图,点击no的话会停留到当前的视图模式(Java或JavaWeb),勾选了 Remember my decision的话 ,下次会不再出现这个提示,并且默认进入刚才选择的视图.一般来说我们不推荐使用debug视图,因为debug视图的窗口过多会显得很乱,如下图:

JavaWeb的debug调试

我们可以看到在debug视图下eclipse为我们展示了当前程序内各个变量的值,那其实我们在保持原有视图的情况下,我们把鼠标放在对应的变量上也是可以看到变量值的,如下图:

JavaWeb的debug调试

4.Debug运行控制按钮

我们看到了断点对于debug模式的重要性,那么当程序停在了断点处时,我们要使用按钮对程序进行控制:运行下一步或运行到底等等,在上面我们已经看到了正常情况下debug的控制按钮在哪里,那么每个按钮都是做什么的呢?下面这里我会详细说明:

F8 运行到当前方法的下一个断点,或者当前方法调用的子孙方法的下一个断点或如果没有下一个断点则程序直接运行完毕;(不常用)

JavaWeb的debug调试

Ctrl+F2 结束当前主程序或者停止server

JavaWeb的debug调试

F5 进入当前断点所在子方法(不常用)

JavaWeb的debug调试

F6 进入当前断点所在方法的下一步(常用)

JavaWeb的debug调试

F7 对应F5使用,当进入子方法后返回父方法(不常用)

JavaWeb的debug调试

5.JavaWeb的debug调试

我们刚才看了eclipse的debug调试方法,那么我们看下在Javaweb项目中的应用,一般在我们进行调试的时候,会把断点打在web项目的action或controller对应请求的第一行代码上,这样做的好处是前台请求进入后台后第一时间或被断点拦截,如果断点没有拦截则说明前台请求没有进入到后台,原因无外乎前台没有发出请求或前台的请求发出了但没有进入到方法体(404或403或被拦截),正常会进入到断点处,如下图:

JavaWeb的debug调试

这时我们可以使用断点运行控制按钮进行控制,一般使用F6一步一步在方法体中运行,如果运行到某一行出错,则我们重新运行请求后,在该行打断点,debug进行到该断点后,我们找到该方法调用的方法,在该被调用的方法内打断点,然后按F6进行到该断点,继续debug即可,例如上面的程序在116行报错,则我们如下操作:

JavaWeb的debug调试

JavaWeb的debug调试

如果运行到这里扔报错的话,我们继续找到调用的方法继续debug即可.

这里给大家提供的是针对Java小白同学,对eclipse的debug模式进行简单的介绍,方便大家在学习的过程中定位及解决问题;

 

根据本人多年从业以及学习经验,录制了一套最新的Java精讲****,如果你现在也在学习Java,在入门学习Java的过程当中缺乏系统的学习教程,你可以加QQ群654631948领取下学习资料,面试题,开发工具等,群里有资深java老师做答疑,每天也会有基础部分及架构的直播课,也可以加我的微信renlliang2013做深入沟通,只要是真心想学习Java的人都欢迎。


java基础教程:https://ke.qq.com/course/149432?tuin=57912c43

Java分布式互联网架构/微服务/高性能/springboot/springcloud:

https://ke.qq.com/course/179440?tuin=57912c43