ideadebug调试技巧,idea bug

ideadebug调试技巧,idea bug,如何用IDEA调试BUG的几种方法

本文主要介绍用IDEA调试bug的几种方法。边肖认为这很好。现在分享给大家,给大家一个参考。来和边肖一起看看吧。

:

目录

1.条件断点2。回到过去。多线程调试4。远程调试5。表达式6的临时执行。修改变量的运行值最近小明的BUG太多了,连王者荣耀都忙得没时间玩了,不得不花点时间学习IDEA DEBUG这种目前大部分Java程序员的开发工具来提高效率。

一、条件断点

场景:我们正在遍历某个集合,期望程序在满足某些预设条件时停止。比如方木老师上课点名,到时间了我们需要停下来检查是否有人在帮小明回答“到了”!

那个方木老师可以这样做:

右键点击断点旁边的小红点(断点)弹出面板,在这里填写暂停条件,这样在调试的时候,程序在满足条件的情况下会坚定的停在student='晓明'的位置。

二、回到"过去"

场景:犯错是人之常情。在日常开发中,我们都有手部缺陷。比如调试一个业务逻辑比较复杂,有多个方法嵌套的时候,我们不小心手一抖,断点就过去了。我们做什么呢

这一天,方木老师像往常一样在课前点名。小明被叫的时候,不争气的小明偷偷看了一眼自己喜欢的女孩,没有注意。等他反应过来的时候,已经错过答案了!非常懊悔(红颜祸水),于是小借大雄的机器猫进行时间旅行:

看上面的图片,我们可以看到,按照点名的顺序,现在该轮到小红老师方木点名了,而小明错过了答案。机器猫可以通过点击上图红框圈里的落框图标来帮助小明(如果有多个方法的嵌套调用,可以多点击几次)。就这样,小明过关了,这次没有错过答案:

温馨提示:这个按钮之所以叫丢帧,是因为JVM以堆栈帧为单位保存线程的运行状态。Drop Frame的字面翻译就是扔掉当前运行的堆栈帧,回到上一帧的位置,从而实现遍历。

三、多线程调试

终于老师点名结束了,现在可以正常上课了。学生最喜欢的老师提问,学生抢着回答问题的时候到了。

我们知道,当我们启动多个线程时,线程中的哪个程序先执行完全取决于CPU的心情(一个父亲的存在),这样就会产生一个问题:我们不能像单线程一样按照执行顺序进行调试。现象就是你只要打断点,线程不跳来跳去我就输了。程序示例如下:

老师提问后,四个学生开始抢着回答:

这么多学生抢着回答问题,已经坚守岗位30多年的方木觉得,继续这样上课可能会有点混乱。但这对于从业30多年的方木来说并不难,如下图:右键点击断点,选择Thread,就可以有目的的跟踪某个学员的抢跑情况(一切尽在掌握)。

四、远程调试

看到这里,小明要给大家介绍一个安装X的技巧:云调试。也就是这台机器不需要启动项目,只要这台机器的源代码和远程服务器运行的jar包匹配,就可以在这台机器上直接远程调试服务器上的代码!打开姿势如下:

当远程项目启动时,首先允许远程调试。

现在大多数都是SpringBoot项目,所以当我们在远程服务器上运行jar包时

Java-server-xms 512m-xmx 512m-Xdebug-xno agent-DJ ava . compiler=NONE-Xrunjdwp:transport=dt _ socket,server=y,suspend=n,address=8080 -jar xiaoming.jar

这里的核心命令是

-Xdebug-xno agent-DJ ava . compiler=NONE-Xrunjdwp:transport=dt _ socket,server=y,suspend=n,address=8080

从技术上讲,远程调试是在本地机器和远程服务之间建立scoket通信,因此本地机器应该能够访问远程服务的端口。

在idea中设置远程调试

接下来就可以正常调试了。调试方法与本地运行服务的方法相同。你相信你可以发起一个请求,并尝试在相应的逻辑代码中设置一个断点吗?

五、临时执行表达式

还有一个就是在调试的时候,我们也可以临时执行一些表达式,点击红框选中的图标,然后输入你要执行的表达式,如下图:

你也看到了,小明的心灵是如此的脆弱,因为他无法直面自己的实际年龄,然后他很快就会得到自己的真实年龄。他偷偷减了7年,所以他的实际年龄永远是18(手动滑稽)。

六、修改变量的运行值

当然,如果你想在调试过程中动态修改一个变量的值,也很容易。右键单击变量,然后选择设置值。比如简单粗暴地把小明的年龄改成18岁.

以上,就是小明最近总结的IDEA的调试技巧,希望能帮到大家。利用好以上调试技巧,相信你拿起代码会有更多感触。请搜索我们以前的文章,或者继续浏览下面的相关文章,了解更多关于IDEA调试bug的信息。希望大家以后能多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • intellij idea控制台乱码,idea解决乱码问题,解决IDEA2020控制台乱码的方法
  • intellij idea乱码怎么办,idea出现乱码
  • intellij idea乱码怎么办,idea出现乱码,两分钟解决IntelliJ IDEA中文乱码问题(推荐)
  • idea配置远程服务器调试,idea远程debug调试
  • idea配置远程服务器调试,idea远程debug调试,IDEA实现远程调试步骤详解
  • idea画uml类图,idea怎么画类图
  • idea画uml类图,idea怎么画类图,使用IDEA画UML图的详细步骤
  • IDEA永久激活,idea2019.1激活
  • IDEA永久激活,idea2019.1.1激活码永久,最新IDEA永久激活教程(支持最新2019.2版本)
  • idea显示乱码,idea解决乱码问题
  • idea新手使用教程,idea使用详细教程
  • idea新手使用教程,idea使用详细教程,IDEA使用入门小白操作教程
  • idea文本替换快捷键,intellij idea自动补全快捷键
  • idea文本替换快捷键,intellij idea自动补全快捷键,Intellij IDEA全局替换快捷键整理
  • idea收费版与社区版的区别,idea社区版和商业版功能的区别
  • 留言与评论(共有 条评论)
       
    验证码: