关于java:项目debug是否真的要被淘汰了总结下debug的用法

40次阅读

共计 1384 个字符,预计需要花费 4 分钟才能阅读完成。

1、我的项目遇到的问题

讲讲在 Java 我的项目下的 debug,起因是在我的项目中遇到一个问题,在接口写完之后,以及 controller 层代码都曾经写完,应用 postman 调试门路,获取返回数据,发现咋缺失了一个字段。

思考了一下,看着没问题啊,咋会产生这个问题呢,思考了很久,还是叫来了共事,共事应用他的 debug,三下两下解决了问题,还是我看代码不认真啊。

问题复现:

而返回的类数据为:

代码逻辑是,从数据库查问进去数据,而后返回 QiScoreCriteriaDTO 类型数据,发在 QiScoreCriteriaDTO 类中,levelName 和 sql 中的 level_name 是无奈对应起来的,导致查问的数据为 null。

解决办法:

或者应用 resultMap,建设映射,返回接口数据:

外面的 property 是对应到相应的 sql 字段中,当前在理论 mybatis 的 xml 文件中,能够间接应用 resultMap,做映射文件。

这是其中一个问题,这次次要的一次意识,我还是得学下 Java 我的项目中的 debug,这块是挺重要的,之前我始终是这样解决问题的:

System.out.print("---->" + 具体的变量);

这样解决问题也能够,不过有时定位问题还是有些难度,还是须要学会 debug。

2、IDEA 应用 debug

bug 起源于一位叫葛丽丝霍波的工程师,有一天在调试设施的时候呈现故障,拆开电器后,发现有只飞蛾被压扁在触点两头,卡住了机器的运行,因而他就把这个程序故障,成为 bug(臭虫),把排除程序故障叫 DEBUG。

  1. 比拟原始的是应用:

    System.out.print("---->" + 具体的变量);
  2. 应用 IDEA 中自带的 debug

启动我的项目后,不应用 run,而是用 debug 模式启动我的项目,有须要的时候,在其中加断点。

在 debug 模式启动,如果无奈运行,但 run 模式能够运行,此使须要查找下,是不是因为有方块断点的起因导致的无奈 debug,这是我在工作中遇到的。

这是以 debug 调试模式启动的我的项目

不加断点会像 run 模式一样执行,如果加了断点,就会如下运行:

能够看到具体的执行断点,打断点的具体程序信息。

如果想要看到变量的具体值,能够应用 Evaluate Expression(Ctrl+F8)查看到具体值。

在我的项目中多应用几次 debug 就相熟了。

3、IDEA 中 debug 快捷键

附上一份 debug 快捷键表:

Win 快捷键 介绍
F7 进入下一步,如果以后断点是一个办法,则进入办法体内,如果该办法体还有办法,则不会进入该内嵌的办法中 (必备)
F8 进入下一步,如果以后那行断点是一个办法,则不进入以后办法体内 (必备)
F9 复原程序运行,如果上面还有一个断点,则停在下一个断点 (必备)
ALT+F8 选中对象,弹出可输出计算表达式调试框,查看该输出内容的调试后果 (必备)
CTRL+F8 设置光标以后行为断点,如果是断点则去掉断点
SHIFT+F7 智能步入,断点所在行有多个办法调用,会弹出进入哪个办法
SHIFT+F8 跳出,成果和 F9 一样
CTRL+SHIFT+F8 指定断点进入条件
ALT+SHIFT+F7 进入下一步,如果以后行断点是一个办法,则进入以后办法体内,如果办法体还有办法,则会进入该内嵌的办法中,依此循环进入
ALT+SHIFT+F8 返回上一步

关注我的公众号:我只是个码字的,一起学习计算机编程常识。

正文完
 0