IDEA中JAVA代码调试技巧

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

文章目录

  • 前言
  • 一、条件断点调试
  • 二、回到“上一步”调试
  • 三、多线程调试
  • 四、远程调试
    • (1)项目启动时,先允许远程调试:
    • (2)idea中设置远程调试
  • 五、临时执行表达式/修改变量的运行值
    • (1)第一种方式
    • (2)第二种方式


前言

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


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

一、条件断点调试

条件断点一般在循环遍历的时候用到。
在断点的位置,右击断点旁边的小红点,会出来一个界面,在Condition这里填入断点条件即可,这样调试时,就会自动停在i==5的位置。
如图:
IDEA中JAVA代码调试技巧_第1张图片
Debug模式,直接停留在i=5的位置
如图:
IDEA中JAVA代码调试技巧_第2张图片


二、回到“上一步”调试

适用于当断点过去了,想回过头看看刚才的变量值。
如图:
IDEA中JAVA代码调试技巧_第3张图片

返回上一步,方法调用的地方
如图:
IDEA中JAVA代码调试技巧_第4张图片


三、多线程调试

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

设置完成后,debug模式启动,在图中红框处选择相应的线程。
如图:
IDEA中JAVA代码调试技巧_第6张图片


四、远程调试

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

(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中设置远程调试

如图:
IDEA中JAVA代码调试技巧_第7张图片

设置相应的ip和远程调试的端口。(端口为启动脚本address[=5005]的值)
如图:
IDEA中JAVA代码调试技巧_第8张图片


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

(1)第一种方式

IDEA中JAVA代码调试技巧_第9张图片
IDEA中JAVA代码调试技巧_第10张图片
IDEA中JAVA代码调试技巧_第11张图片

(2)第二种方式

IDEA中JAVA代码调试技巧_第12张图片
IDEA中JAVA代码调试技巧_第13张图片
IDEA中JAVA代码调试技巧_第14张图片

你可能感兴趣的:(intellij,idea,java)