IntelliJ IDEA Debug入门教程:轻松掌握调试技巧,迅速定位代码错误

前言


Debug技巧

Debug


Debug的步骤

Debug(调试)程序步骤如下:

  1. 添加断点
  2. 启动调试
  3. 单步执行
  4. 观察变量和执行流程,找到并解决问题

添加断点

在源代码文件中,在想要设置断点的代码行的前面的标记行处,单击鼠标左键就可以设置断点,在相同 位置再次单击即可取消断点。

image-20221214185723738

启动调试

IDEA提供多种方式来启动程序(Launch)的调试,分别是通过菜单(Run –> Debug)、图标“绿色臭虫” 等等

image-20221214185802437

单步调试工具介绍

image-20221214185835417

image-20221214185925107

1
说明:在Debug过程中,可以动态的下断点。

多种Debug情况介绍

行断点

  • 断点打在代码所在的行上。执行到此行时,会停下来。

方法断点

  • 断点设置在方法的签名上,默认当进入时,断点可以被唤醒。
  • 也可以设置在方法退出时,断点也被唤醒

image-20221214190209002

  • 在多态的场景下,在父类或接口的方法上打断点,会自动调入到子类或实现类的方法

字段断点

  • 在类的属性声明上打断点,默认对属性的修改操作进行监控

image-20221214190500329

条件断点

针对上述代码,在满足arr[i] % 3 == 0的条件下,执行断点。

image-20221214190748033

异常断点

  • 对异常进行跟踪。如果程序出现指定异常,程序就会执行断点,自动停住。

通过下图的方式,对指定的异常进行监控:

image-20221214190842358

线程调试

image-20221214190908575

强制结束

image-20221214190931697

自定义调试数据视图

设置如下:

image-20221214191018350

image-20221214191031895

常见问题

问题:使用Step Into时,会出现无法进入源码的情况如何解决?

方案1:使用 force step into 即可

方案2:点击Setting -> Build,Execution,Deployment -> Debugger -> Stepping 把Do not step into the classess中的 java.* 、 javax.* 取消勾选即可。

image-20221214191119631

小结:

1
2
经验:初学者对于在哪里加断点,缺乏经验,这也是调试程序最麻烦的地方,需要一定的经验。
简单来说,在可能发生错误的代码的前面加断点。如果不会判断,就在程序执行的起点处加断点。

后记