在 IntelliJ IDEA 2026 中,「运行到光标」(Alt+F9/Option+F9)仅沿当前可达路径执行至光标行,不依赖断点;「强制运行到光标」(Alt+Shift+F9/Option+Shift+F9)则无视断点与控制流限制,强行停在目标行,但需调试会话已挂起。

在 IntelliJ IDEA 2026 中,想跳过大量中间逻辑、直接让程序停在某一行继续调试,必须区分「运行到光标」和「强制运行到光标」两种行为——前者只在当前可执行代码路径上生效,后者能穿透断点禁用状态或条件分支盲区。
运行到光标(Run to Cursor)
将光标定位到目标代码行 → 按 Alt+F9(Windows/Linux)或 Option+F9(macOS)→ 程序立即运行至该行并暂停,但仅限当前已加载且可达的执行路径。
这一步不依赖断点,也不修改任何断点状态;但如果光标所在行被编译器优化掉(如空行、注释行、纯声明语句),IDEA 会自动向上/向下寻找最近的可执行语句再停住。
注意:若当前调试会话尚未启动,此快捷键无效——必须先以 Debug 模式运行程序,进入暂停态后才能触发 Run to Cursor。
强制运行到光标(Force Run to Cursor)
方法一:光标停在目标行 → 按 Alt+Shift+F9(Windows/Linux)或 Option+Shift+F9(macOS)→ 程序无视断点启用状态、跳过所有条件判断,强行抵达该行。
方法二:右键点击目标行号区域 → 选择「Force Run to Cursor」→ 效果与快捷键一致。
【关键前提】该功能仅在调试会话已挂起(即程序处于暂停状态)时可用;若程序正在运行中,快捷键会被忽略,不会中断执行。
强制运行到光标会绕过所有断点拦截,包括被禁用的断点、被条件过滤掉的断点,甚至能跳进已被 JIT 编译优化掉的字节码行——但前提是该行在当前调用栈中真实存在可执行指令。
实战验证路径
第一步:写一段含 if 分支的测试代码,例如:
int x = 5;
if (x > 10) {
System.out.println("A");
} else {
System.out.println("B"); // 光标放在此行
}
第二步:Debug 启动程序,在进入 if 块前暂停 → 将光标移到 System.out.println("B"); 行 → 按 Alt+F9 → 程序正常停在此行。
第三步:再次 Debug 启动 → 在 int x = 5; 行暂停 → 将光标移到 System.out.println("A"); 行(逻辑不可达)→ 按 Alt+Shift+F9 → 程序强制跳转并停在该行,此时变量 x 值仍为 5,但光标位置已突破原始控制流。


















