IDEA中JAVA代码调试技巧

提示:以下debug调试方式仅适用于在IDEA中使用


前言

整理IDEA中一些调试的技巧。


提示:以下是本篇文章正文内容

一、条件断点调试

条件断点一般在循环遍历的时候用到。
在断点的位置,右击断点旁边的小红点,会出来一个界面,在Condition这里填入断点条件即可,这样调试时,就会自动停在i==5的位置。
如图:
在这里插入图片描述
Debug模式,直接停留在i=5的位置
如图:
在这里插入图片描述


二、回到“上一步”调试

适用于当断点过去了,想回过头看看刚才的变量值。
如图:
在这里插入图片描述

返回上一步,方法调用的地方
如图:
在这里插入图片描述


三、多线程调试

多线程同时运行时,谁先执行,谁后执行,无法控制先后,调试时比较麻烦,最明显的就是断点乱跳,一会儿停这个线程,一会儿停在另一个线程,如果想让线程在调试时,想按自己的愿意来,让它停在哪个线程就停在哪个线程,可以如下设置:
如下鼠标右键断点,选择Thread,多个线程全部设置。
如图:
在这里插入图片描述

设置完成后,debug模式启动,在图中红框处选择相应的线程。
如图:
在这里插入图片描述


四、远程调试

本机不用启动项目,只要有源代码,可以在本机直接远程调试服务器上的代码。

(1)项目启动时,先允许远程调试:

nohup java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 ancb-logistics-job.jar 2>&1 > /dev/null &
注意:远程调试从技术上讲,就是在本机与远程建立scoket通讯,所以端口不要冲突,而且本机要允许访问远程端口,另外这一段参数,放要在-jar 或 ${main_class}的前面。

(2)idea中设置远程调试

如图:
在这里插入图片描述

设置相应的ip和远程调试的端口。(端口为启动脚本address[=5005]的值)
如图:
在这里插入图片描述


五、临时执行表达式/修改变量的运行值

(1)第一种方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)第二种方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


版权声明:本文为weixin_42308167原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。