Idea Debug 不执行断点后面的代码

背景

在debug的过程中,如果在程序执行的中途我们就定位到了问题,但是后续的逻辑很复杂或者我们不希望发生(比如说存在数据库修改操作/执行耗时非常长,长达几分钟),那么这种情况下就可以利用Force return功能直接返回而不执行后续方法。

示例代码

public String hello() {
        System.out.println("TEST START!");

        changeDBLogic();
        changeRedisLogic();
        longTimeProcess();

        return "done";
    }

    private void changeDBLogic() {
        System.out.println("change DB ing...");
    }

    private void changeRedisLogic() {
        System.out.println("change Redis ing...");
    }

    private void longTimeProcess() {
        System.out.println("need 120s to finish...");
    }

示例代码输出

img

Force Return使用方式

在不希望执行的代码前设置断点:

img

在到达断点后,在Frames中选择当前执行的方法,右键选择Force Return:

img

输入强制返回的结果:

img

Resume Program结束debug流程:

结果

程序最终的return为我们强制制定的结果:

img

不想执行的逻辑没有打印日志,说明没有执行:

img

posted @ 2022-01-20 14:31  Micky233  阅读(800)  评论(0编辑  收藏  举报