提示:以下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版权协议,转载请附上原文出处链接和本声明。