☰
IDEA 调试入门:新手也能看懂的断点调试教程
2026/9/27 4:57:39 网站建设 项目流程

IDEA 调试 Debug 新手教程 Java


写代码的时候,光靠 System.out.println 打印来找问题,效率太低了。今天整理一下 IDEA 最基础的调试方法,看完就能上手。

一、什么是断点调试

断点就是在某一行代码上做个标记。程序运行到这一行的时候会自动停下来,这时候你可以一步步看代码怎么执行的,每个变量的值是多少。

二、怎么打断点

在代码行号左边的空白处,点一下鼠标左键,出现一个红色的小圆点,就是断点打好了。

注意:只能打在可执行代码的行上,空行、大括号、注释行是打不上的。

快捷键:光标放在要打断点的那一行,按 Ctrl+F8,可以快速添加或者取消断点。

三、怎么启动调试

不要点那个绿色的三角形运行按钮,要点旁边那个绿色的小虫子图标,叫 Debug。

或者右键代码编辑区,选 Debug Main。

启动之后,程序会正常运行,直到碰到你打的断点,自动停下来。停下来的时候,当前这一行会高亮显示。

四、最常用的几个快捷键

这几个键一定要记住,调试全靠它们:

F8(Step Over,步过)最常用。按一下,执行当前这一行代码,然后停在下一行。如果当前这一行调用了别的方法,不会进方法里面,直接把整个方法执行完。适合你不想进方法内部,只想一行一行往下看的时候用。

F7(Step Into,步入)如果当前这一行调用了一个方法,按 F7 会跳进这个方法里面,看方法内部是怎么执行的。调试递归的时候特别有用。

Shift+F8(Step Out,跳出)如果你不小心跳进了一个不想看的方法,按 Shift+F8,会把这个方法剩下的代码全部执行完,然后回到调用这个方法的那一行的下一行。

F9(Resume,继续)从当前停下来的地方继续运行,直到碰到下一个断点。如果后面没有断点了,程序就直接跑完。

Ctrl+F2(停止)停止调试。

五、Debug 窗口两个重要面板

程序停在断点的时候,下面会弹出 Debug 窗口,重点看两个地方:

Variables(变量面板)这里会显示当前这一行代码之前,所有变量的值。你可以直接看到每个变量现在等于多少,不用再写 println 打印了。调试的时候看变量值对不对,就看这里。

Frames(调用栈面板)这里显示的是方法调用的层级。普通代码没感觉,但是调试递归的时候,这个面板是最有用的。每调用一次方法,这里就多一层。你可以清楚地看到现在执行到了哪一层方法,每一层的参数是多少。

六、实际例子:调试递归

拿之前写的阶乘递归举例:

public static int fac(int n) { if (n == 0) { return 1; } int tmp = n * fac(n - 1); return tmp; } public static void main(String[] args) { int result = fac(5); System.out.println(result); }

我们在int tmp = n * fac(n - 1);这一行打个断点,启动 Debug。

  1. 程序停在这一行,看 Variables 面板,n=5。
  2. 按 F7,跳进 fac (n-1),也就是 fac (4)。现在 Frames 面板里多了一层 fac (4)。
  3. 继续按 F7,一层一层跳进去:fac (4)、fac (3)、fac (2)、fac (1)、fac (0)。
  4. 到 fac (0) 的时候,满足 n==0,return 1。这时候按 Shift+F8,会看到一层一层往外跳。
  5. 跳出来的时候,看 Variables 面板,tmp 的值是怎么一层层算出来的。

这一遍走下来,递归是怎么一层一层进去,又怎么一层一层回来的,就全看明白了。比自己在脑子里想十遍都管用。

七、几个小技巧

  1. 断点打多了,不想一个一个取消:点 Debug 窗口里的 Mute Breakpoints 按钮(两个小红点那个),可以一次性让所有断点失效,再点一下恢复。
  2. 想让程序直接跑到光标那一行停下来:把光标放在某一行,按 Alt+F9,选 Run to Cursor,程序就直接运行到那一行再停,不用一步一步按 F8。
  3. 红色圆点如果是空心的,说明这个断点打不上,这一行没有可执行代码。

八、新手建议

刚开始学调试,不要怕按错。F7、F8、Shift+F8 这几个键反复按几遍,看看代码怎么跑的,变量怎么变的,很快就熟了。

特别是学递归的时候,一定要用断点调试一遍。递归最绕的地方就是你看不到它内部是怎么调用的,断点一打开,调用栈一层层列出来,瞬间就懂了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询