idea断点调试

1.条件表达式

右键断点写表达式条件后点击done,debug满足条件才会停在此断点。

Thread.currentThread().getName().equals("thread1")
 

2.打印堆栈信息

右键断点点击more,打开详情

勾选log旁边的 "Breakpoint hit" message (断点触发信息)和 Stack trace(堆栈信息)

输出效果,如果方法被多个类调用时,Stack trace 可以清楚地看到具体的调用类

3.表达式解析

当运行到断点时点击Evaluate Expression...,填写表达式,点击evaluate计算result

比如有许多if else 判断,那么可以用这个实时解析出最后程序走哪个分支

4.避免操作资源 force return

场景:在操作数据库等资源之前发生了错误,不想让程序继续执行,

如果点drop frame,是回到调用方法前,是错误的

应该在frame面板中右键当前方法,点击force return ,执行完断点那行就会跳出了。

5.快捷键图标、含义

当代码很长时,断点过程中,光标停在其他位置,show execution point 会回到断点处。

step over 跳过当前行,会到下一行

step into  进入方法

force step into  强制进入方法,进入jar包里的

step out  跳出方法

run to cursor 当代码很长时,断点可以直接跳到光标位置

6.stream 调试

jdk8里流式编程,打断点时可以选择打在哪里,不过我操作时没有出现(和视频里不一样,可能版本问题,关系不大)

追踪当前stream链式调用,(split mode)会显示每个步骤数据的变化,下面的flat mode 可以一次显示所有变化

7.注意点

打在方法上的断点太多,项目会启动不了,idea会给出提示:

方法断点可能会明显降低调试速度

Method breakpoints may dramatically slow down debugging 

参考的视频:IDEA 断点调试高级玩法 |debug高手必看! #71_哔哩哔哩_bilibili

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值