Debug操作技巧
Show Execution Point
将光标回到当前断点停顿的地方

Step Over
执行当前行代码,并将运行进度跳转到下一行。
Step Into
进入到当前代码行的方法内部。


Step Out
从方法内部出去


Force Step Into
强制进入Java自带方法的内部


Run to Cursor

将光标定位到想到达的代码行

点击Run to Cursor

Drop Frame
丢弃当前虚拟机栈帧
初始:

进入方法:

本文转载自:https://www.gylmap.com
丢弃当前帧:

也就是说,我们退回了上一步进入方法之前。
Evaluate Expression
可以用它来评估表达式

如 p.getName()等。

Force Return | 避免操作资源
我们在调试代码的时候中间出现了异常,但是我们又没有做异常捕获,稀里糊涂地把错误数据存到了数据库中,我们又需要将这些数据给删除,将数据库复原,才能达到之前我们需要的效果。
所以,接下来我们讲一讲如何避免操作资源,强制返回。
↓CloseCode↓
public static void saveResource() {
    System.out.println("shit happens");
    
    System.out.println("save to db");
    System.out.println("save to redis");
    System.out.println("send message to mq for money payout");
}debug:

我们发现程序出现了异常

Force Return

它会只打印shit happens,不会继续向下执行了。

Trace Current Stream Chain | Stream Debug
public static void streamDebug() {
    // stream chain
    Arrays.asList(1, 2, 3, 45).stream()
            .filter(i -

 
                             
                             
                             
                            