目录

一、概述

二、debug操作分析

1、打断点

2、运行debug模式

3、重新执行debug

4、让程序执行到下一次断点后暂停

5、让断点处的代码再加一行代码

6、停止debug程序

7、显示所有断点

8、添加断点运行的条件

9、屏蔽所有断点

10、把光标移到当前程序运行位置

11、单步跳过

12、可以跳入方法内部的执行一行代码操作

13、跳出方法

14、直接执行到光标所在位置

15、在控制台改变正在debug的数据


一、概述

  • debug调试也叫断点调试
  • 在程序的某一行打上断点,则在debug模式下运行到断点位置时会暂停,便于程序员观察代码的执行情况
  • 学会debug,有助于在程序运行未达到理想情况时,对程序的各个流程进行分析
  • 本文只详细描述了debug的一些基本的常用操作,如果有缺漏欢迎评论区留言~

二、debug操作分析

1、打断点

  • 在程序的某一行位置,数字右边的空白部分使用鼠标左键点击一下,出现红点即为打上了一个断点

使用debug模式启动后端java项目 debug模式调试_程序运行

2、运行debug模式

  • 方式一
  • 选中要进行debug的程序,点击右上角的debug按钮

使用debug模式启动后端java项目 debug模式调试_intellij-idea_02

  • 在要进行debug的程序处右键,选中下图选项

使用debug模式启动后端java项目 debug模式调试_intellij-idea_03

3、重新执行debug

  • 点击下图按钮,会关闭当前debug的程序并重新启动debug

使用debug模式启动后端java项目 debug模式调试_intellij-idea_04

4、让程序执行到下一次断点后暂停

  • 点击下图的按钮,debug会继续运行程序,直到遇到下一次断点后暂停

使用debug模式启动后端java项目 debug模式调试_java_05

  • 下图是一个循环操作,在打断点的位置点击上面说的按钮,相当于再循环一次,到代码第9行时停止

使用debug模式启动后端java项目 debug模式调试_intellij-idea_06

5、让断点处的代码再加一行代码

  • 点击下图的加号,可以在断点处加一行代码,比如下图中的count++即为新添加的代码
  • 选中count++,右键点击Edit可以编辑该代码
  • 选中该行代码(count++),点击加号下面的减号,可以删除该行代码

使用debug模式启动后端java项目 debug模式调试_java_07

  • 选中下图的眼镜,变为分屏操作

使用debug模式启动后端java项目 debug模式调试_intellij-idea_08

使用debug模式启动后端java项目 debug模式调试_intellij-idea_09


举例

  • 下图是没添加额外代码之前的截图

使用debug模式启动后端java项目 debug模式调试_intellij idea_10

  •  添加一句count++,并点击左边红色框中的按钮,执行到下一次断点,即循环了一次

使用debug模式启动后端java项目 debug模式调试_java_11

  •  效果和运行步骤见下图 

使用debug模式启动后端java项目 debug模式调试_java_12

6、停止debug程序

  • 点击下图按钮停止debug程序
  • 注意
  • 运行的如果是javaSE项目,点一下就停止
  • 运行的如果是javaWeb项目,需要点两下
  • 第一下停止代码的当前线程
  • 第二下停止服务器

使用debug模式启动后端java项目 debug模式调试_java_13

7、显示所有断点

  • 点击下图按钮,会显示所有断点

使用debug模式启动后端java项目 debug模式调试_程序运行_14

  •  点击后出现下图所示界面,可以添加断点运行的条件,见下一条功能解释

使用debug模式启动后端java项目 debug模式调试_intellij-idea_15

8、添加断点运行的条件

  • 选中断点,右键后即可编辑断点运行的条件
  • 满足条件时程序才会在该断点处停下

使用debug模式启动后端java项目 debug模式调试_intellij-idea_16

  •  比如添加i>=5,重新debug后的效果如下图所示

使用debug模式启动后端java项目 debug模式调试_java_17

  •  此时会发现第7条显示所有断点信息处,可以看到下图效果

使用debug模式启动后端java项目 debug模式调试_intellij-idea_18

9、屏蔽所有断点

  • 点击下图按钮,可以屏蔽所有断点

使用debug模式启动后端java项目 debug模式调试_intellij idea_19

  • 屏蔽前
  • 屏蔽后
  • 如果程序调试后觉得没问题了,可以屏蔽掉所有断点继续运行程序查看效果

10、把光标移到当前程序运行位置

  • 点击下图按钮后,会把鼠标光标移动到当前程序运行位置
  • 当程序代码量很大的时候,可以通过该按钮快速定位到程序运行位置

使用debug模式启动后端java项目 debug模式调试_intellij-idea_20

  • 假设程序运行到第9行断点处,鼠标光标在第11行,点击该按钮后光标就会移动到第9行

使用debug模式启动后端java项目 debug模式调试_java_21

11、单步跳过

  • 点击下图按钮,会一行一行执行自己编写的代码
  • 如果碰到方法,该按钮不会进入到该方法内部
  • 快捷键F8 

使用debug模式启动后端java项目 debug模式调试_使用debug模式启动后端java项目_22

12、可以跳入方法内部的执行一行代码操作

  • 下图中的蓝色箭头和红色箭头都可以执行一行代码,如果遇到方法时会进入方法内部,区别在于
  • 蓝色箭头只会跳进自己写的方法,如果是系统已经写好的方法,蓝色箭头无法跳入该方法
  • 红色箭头不管是自己写的方法,还是系统已经定义好的方法,都可以跳入方法内部

使用debug模式启动后端java项目 debug模式调试_使用debug模式启动后端java项目_23

  • ArrayList的add方法是系统已经写好的,蓝色箭头无法跳入方法内部,但是红色箭头可以跳入方法内部
  • printMessage()是自定义方法,红色和蓝色箭头都可以跳入该方法内部

使用debug模式启动后端java项目 debug模式调试_使用debug模式启动后端java项目_24

13、跳出方法

  • 下图的两个按钮都可以跳出方法
  • 第二个按钮是关闭窗口的意思,同样可以起到跳出方法的作用
  • 在进入方法内部的时候使用这两个按钮

使用debug模式启动后端java项目 debug模式调试_使用debug模式启动后端java项目_25

14、直接执行到光标所在位置

  • 点击下图的按钮,程序会执行到光标所在的位置
  • 前提是光标前面没有断点,否则程序还是会在光标前面的断点处暂停

使用debug模式启动后端java项目 debug模式调试_intellij idea_26

15、在控制台改变正在debug的数据

  • 在控制台选中某个变量,右键点击Set Value可以改变该变量的值
  • 如果想测试某个地方的数据如果是正确的会是什么效果,可以手动更改该处变量的值

使用debug模式启动后端java项目 debug模式调试_java_27

补充:debug调试看代码时,一般用F9跳到下一个断点,打断点的目的是你想看程序执行到这个位置时会有什么效果,或者是到达断点的位置后再继续往下看实现的过程;用F7去跳进方法内部,看具体的实现细节;用F8去看当前位置代码往下的执行情况(不跳入具体方法的内部)