IDEA

您所在的位置:网站首页 idea开发工具debug模式下f7 IDEA

IDEA

2023-07-22 22:27| 来源: 网络整理| 查看: 265

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录 一、设置断点二、使用步骤1.查看variable值2.使用step over2.使用step out2.使用step into 总结

一、设置断点

开始前查看一下之前的断点,全部检查一遍,把不需要的取消:

在这里插入图片描述 (目前两种断点一个是行断点,一个是方法断点)

在我们需要断开的地方打断点:

在这里插入图片描述 然后开始debug:

在这里插入图片描述

二、使用步骤 1.查看variable值

在这里插入图片描述 首先我看到i值在当前位置,这一步很重要,因为这个i是间隔时间,我无法判断他起始的值,delay inti value=2000ms,而这个i是用来测量如果延迟累计过高就不能去登录而是像接下来一样先把延迟归0; (每一个方法的调用都会增加间隔的时间)

我们接着往下看就知道了;

补充:这里看这个方法内所以variable的值: 在这里插入图片描述

2.使用step over

使用step over一步步往下走(如图)

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 这个流程非常清楚,这就是step over的用法;

2.使用step out

而如果想要搞清楚i调用的位置,我们就需要查看debug里的记录,我要去找i的来源:

在这里插入图片描述 用step out我可以找到这个方法被调用的位置:

public void tick(int intervalTime) { tickCallback(intervalTime); }

在这里插入图片描述

继续找这个parameter间隔时间:

@Override public void tick(int intervalTime) { tickCMSRequest(); gameLogic.tick(intervalTime); eventEngine.tick(intervalTime); sessionManager.tickClient(intervalTime);

继续step out:

tick((int) (currentMT - lastRunMT)); } catch (Exception e) { e.printStackTrace(); logger.error("Exception: ",e); } finally { lastRunMT = currentMT;

在这里插入图片描述

但其实本身step out,是与第三个step into相对用的。

2.使用step into

那么如果我要用step into,那我起始就需要标记method break point而不是line break point:

在这里插入图片描述 但是我个人感觉step into不如自己手动找,step into本身与step over区别在于程序向下执行。如果该行有方法,则运行进入方法,相反step over是如果当前行有方法调用,这个方法将被执行完毕返回(位置不变,方法会被执行),然后到继续下一行。

总结

提示:这里对文章进行总结: debug断点在实际项目中对于流程的掌控和方法调用的查看,有些许帮助,还需要继续熟悉使用断点查错替代一部分基本的系统日志查错。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3