Intellij Idea 调试技巧
条件断点
使用场景:如遍历一个大的数组或集合,想让断点停在某个特定值时
具体操作:在断点的小红标位置右击鼠标,在弹出的界面框中的condition项中输入条件即可
断点回滚
使用场景:如方法嵌套调用,从当前方法回退到调用该方法的位置,需要注意的是断点回退只能重新走一下流程,之前的某些参数/数据的状态已经改变
具体操作:在debug操作界面找到“Drop Frame”图标按钮点击即可
多线程调试
使用场景:方法中有多个线程任务,调试指定的线程任务
具体操作:在断点小红标位置右击鼠标,在弹出的界面框中切换选择Thread,需要调试的线程均需要修改
Debug过程操作变量
操作变量后可能会有Type mismatch的错误提示,似乎也没啥影响
Lambda表达式调试
idea的“Trace Current Stream Chain”调试按钮可查看过程详情
远程调试
1、配置编辑Edit Configurations...
2、添加选择remote,名称自定义,Host填服务器地址,Port填程序在服务器启动需要监听的端口号,use module classpath选择需要调试的项目,其它默认即可
Command line arguments for remote JVM中的内容是自动生成的,程序在服务器启动时需要加上该参数
3、在服务器上启动程序,此处以jar包为例,需要注意命令的顺序,此外监听端口不可被占用
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar plugintest-1.0.0.jar
4、需要调试时,本地代码需要选择之前的远程配置并启动,需要注意的是服务器上的代码和本地代码要保持一致