调试窗口不自动消失需取消勾选“hide debug window on process termination”;alt+f8求值避免重表达式和未初始化字段;ctrl+shift+f8管理断点更高效;alt+f9可快速跳转至光标所在可执行行。

怎么让调试窗口不自动消失
调试进程结束时,Debug 窗口默认自动隐藏,导致你刚想看最后一眼变量值就没了——这不是 bug,是默认开关开着。关掉它只需两步:
打开 Settings(Ctrl+Alt+S),进入 Build, Execution, Deployment → Debugger,取消勾选 Hide debug window on process termination。
注意:这个选项只影响窗口可见性,不影响断点、变量或堆栈;如果勾选了,哪怕你正盯着 Watches 面板,进程一停窗口就收走,毫无提示。
Alt+F8 求值别输太重的表达式
Alt+F8 是调试中最快看变量或执行临时逻辑的方式,但容易误用:
• 输入 list.size() 或 user.getName() 安全,响应快
• 输入 items.stream().filter(...).collect(...) 可能卡住调试器,尤其数据量大时
• 表达式里含未初始化字段(比如 cache.get("key") 但 cache 为 null),不会报错,只显示 uninitialized,容易当成“有值”
• 光标默认停在输入框最前,不是末尾,输完得手动移到最后再回车
Ctrl+Shift+F8 管理断点比 Ctrl+F8 更常用
Ctrl+F8 是切换当前行断点,但真正控制调试节奏的是 Ctrl+Shift+F8:
• 这里能批量启用/禁用断点,避免删了又设
• 勾选 Ignore libraries 后,F7(Step Into)不再跳进 Spring、Lodash 等库源码
• 可设条件断点,比如 i == 100,但条件里别调用耗时方法(如数据库查询)
• 断点右键菜单里的 More 能设命中次数,适合循环里第 N 次才停
调试时怎么快速跳到光标处而不是单步
卡在一堆 ArrayList.add() 或代理类里?别硬 F7/F8:
• 把光标移到你想执行到的那行代码上,按 Alt+F9,直接运行到那里
• 如果光标在 if 分支里,Alt+F9 会跳过前面所有无关路径,省去十几次 F8
• 它不依赖断点,但要求目标行可执行(不能是注释或空行)
• 和 F9(Resume)不同,Alt+F9 是“定向抵达”,不是“继续运行”
Ctrl+Shift+F8 和 Alt+F9 按成肌肉记忆了。











