Step Over(F8)执行当前行全部语句并停在下一行,不进入方法体但会命中其内断点;Step Into(F7)进入方法内部逐行调试,多调用时需Smart Step Into选择;Force Step Into(Ctrl+Alt+Shift+F7)强制进入无源码的JDK或三方库。

在 IntelliJ IDEA 2026 中精准控制程序执行流程,必须分清 Step Over(逐行)与 Step Into(进入方法)的触发时机和实际效果,否则会跳过关键逻辑或陷入无关源码。
理解 Step Over 的真实行为
Step Over 不是“跳过方法”,而是**执行当前行全部语句并停在下一行**,无论该行是否含方法调用。
按 F8 或点击 Debug 工具栏上的 Step Over 按钮。
若当前行是 count(10);,执行后光标直接落到 System.out.println("Count complete!"); 这一行,【count() 方法体内的代码不会被展示,但已完整执行】。
注意:如果 count() 内部设置了断点,Step Over 仍会命中——它不绕过断点,只绕过单步跟踪。
何时必须用 Step Into
当你需要查看某个方法内部每一步如何计算、变量如何变化时,Step Into 是唯一选择。
按 F7 或点击 Debug 工具栏上的 Step Into 按钮。
若当前行有多个方法调用,例如 process(getData(), validate(input)),IDEA 会弹出 Smart Step Into 对话框,列出所有可进入的方法。此时必须手动选一个,否则调试会卡住。
这一步不能靠记忆操作——Smart Step Into 默认不自动生效,需提前在 Settings → Build, Execution, Deployment → Debugger → Stepping 中勾选 “Always do smart step into” 才能避免每次弹窗。
强制进入三方库或 JDK 方法
普通 Step Into 进不去 JDK 或 Maven 依赖里的 class,因为它们默认没有源码附加。这时要用 Force Step Into。
方法一:按 ⌥ + ⇧ + F7(macOS)或 Ctrl + Alt + Shift + F7(Windows/Linux)。
方法二:右键当前行 → 选择 Force Step Into。
该操作会尝试加载对应类的字节码反编译视图,哪怕没有源码也能看到逻辑流。但注意:【反编译内容不可编辑,且部分优化后的字节码可能丢失原始变量名】。
实战判断路径:三步决策法
第一步:看当前行是否只有一处可执行入口?如果是纯赋值、打印、单方法调用,优先 F8。
第二步:看目标方法是否你自己写的、且需要验证内部状态?是 → F7;否 → 跳回第一步。
第三步:看目标方法在 External Libraries 下,且你确认它影响了结果?→ 立即改用 Force Step Into,不要尝试附加源码浪费时间。


















