IDEA的这几个调试的骚操作,用了都说爽!
2019-11-29 本文已影响0人
视学算法
点击上方“视学算法”,选择“星标”公众号
重磅干货,第一时间送达
一、条件断点
循环中经常用到这个技巧,比如:遍历1个大List的过程中,想让断点停在某个特定值。![](https://img.haomeiwen.com/i14546045/c92ec880941ad584.png)
最新粉丝福利
腾讯云
,1核2G,1年88元,3年268元,限量秒杀
![](https://img.haomeiwen.com/i14546045/41c546d99eafde1f.png)
二、回到"上一步"
该技巧最适合特别复杂的方法套方法的场景,好不容易跑起来,一不小心手一抖,断点过去了,想回过头看看刚才的变量值,如果不知道该技巧,只能再跑一遍。![](https://img.haomeiwen.com/i14546045/f7ab17c0abc82a15.png)
![](https://img.haomeiwen.com/i14546045/2ae65fca1ff969c1.png)
三、多线程调试
多线程同时运行时,谁先执行,谁后执行,完全是看CPU心情的,无法控制先后,运行时可能没什么问题,但是调试时就比较麻烦了,最明显的就是断点乱跳,一会儿停这个线程,一会儿停在另一个线程,比如下图:![](https://img.haomeiwen.com/i14546045/8c78eef303f2a56d.png)
![](https://img.haomeiwen.com/i14546045/30b7ca1e938f1c66.png)
![](https://img.haomeiwen.com/i14546045/a727382e140fed58.png)
![](https://img.haomeiwen.com/i14546045/1fd129b3aa34fda9.png)
![](https://img.haomeiwen.com/i14546045/3caaa5367a5b6c1e.png)
四、远程调试
这也是一个装B的利器,本机不用启动项目,只要有源代码,可以在本机直接远程调试服务器上的代码,打开姿势如下: 1、项目启动时,先允许远程调试 java -server -Xms512m -Xmx512m -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9081 -Djava.ext.dirs=. ${main_class}
起作用的就是 -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9081
注意:远程调试从技术上讲,就是在本机与远程建立scoket通讯,所以端口不要冲突,而且本机要允许访问远程端口,另外这一段参数,放要在-jar 或 ${main_class}的前面 2、idea中设置远程调试
![](https://img.haomeiwen.com/i14546045/1dd2f7d3f591fd11.png)
![](https://img.haomeiwen.com/i14546045/e6fb25f4be7ddc98.png)
五、临时执行表达式/修改变量的运行值
调试时,可以临时执行一些表达式,参考下图:点击这二个图标中的任何1个都可以![](https://img.haomeiwen.com/i14546045/f43031638083db72.png)
![](https://img.haomeiwen.com/i14546045/b1f95e63ba21529f.png)
![](https://img.haomeiwen.com/i14546045/89987a785baf571d.png)
![](https://img.haomeiwen.com/i14546045/0896fb31ea56b7bd.png)