idea断点调试总结

版权声明:本文为博主原创文章,如果转载请务必注明出自本博客:qq_2300688967,否则追究责任。 https://blog.csdn.net/qq_2300688967/article/details/84954500

一、设置条件断点

也就是在调试时,想要在某个变量值为某一个特定值或符合其它条件时,能够将线程挂起。

如图,如果for循环中定位问题,希望执行集合中的id为369的对象时能够将线程挂起,看看该对象为何执行报错,此时在如图所示弹框中设置表达式即可,注意使用”==“判断,就是要使条件表达式的结果为boolean类型。

在弹出的对话框中有Enabled和Suspend选项,这Enable是断点是否启用,Suspend就是线程是否挂起,All是挂起所有线程。

二、打印变量或表达式到控制台

应用场景:有一个id集合,根据id集合查询数据库,此时性能比较慢,就拿出来id集合到数据库执行,看看sql执行过程,为了保持和运行时效果一样,就需要原来的id集合值,如果将在代码中将集合转换成字符串再输出到控制台,中间需要重新部署项目,影响工作效率不说,要是忘了删除,被提交到线上,就可能发生严重的问题。

最好的方式就是通过debug模式,在断点中添加输出到控制台的代码,直接复制控制台中输出的集合即可。

操作步骤:

1,当需要输出的变量已经获取到完整的id集合时,在其后面代码中设置断点,断点处鼠标右键,点击“More..."

2, 在弹框中,选择对应行设置的断点,选中”Evaluate and log" ,

输入添加输出到控制台的代码"System.out.println()",然后点击done即可。再次请求时,执行到第103行的断点时,会自动先执行这个输出命令,打印到控制台。

注意,如图第101行的断点,该断点处没有设置输出日志操作,所以即使执行到该行时,也不会输出!

 效果如下:

猜你喜欢

转载自blog.csdn.net/qq_2300688967/article/details/84954500