编写代码的时候,有时候我们需要跟踪代码的运行情况,使用断点调试就是一个不错的方法,接下来介绍一下如何在IDEA中使用断点进行调试

文章目录

  • 1. 设置断点
  • 2. 调试
  • 3. 调试的基本操作
    • 3.1 step over
    • 3.2 step into 跟 Force step into
    • 3.3 step out
    • 3.4 resume program
    • 3.5 mute breakpoints
    • 3.6 view breakpoints
    • 3.6 条件断点

1. 设置断点

直接在你需要打断点的代码的行号区域,点击,即可设置断点,如图所示

这里补充一下对断点的理解:断点打在代码的前面,例如11行的断点打在第11行代码的前面,意味着,当程序运行到11行代码的断点时,第11行代码其实并未运行

2. 调试

点击绿色的三角形进行运行程序,点击绿色的小瓢虫就是运行调试程序

程序就会进入调试界面,代码行处的断点标记,都变成了红色的箭头,蓝色的部分表示现在程序所停的行数
最下面的就是调试窗口,调试窗口的左边部分是方法栈,即越下面的方法是越早被调用的,调试窗口的右边部分是变量的值

3. 调试的基本操作

3.1 step over


在调试窗口的上方,含义为:进入下一步,如果当前行断点是一个方法,则不进入当前方法体内。即从代码行A,跳到下一行代码A + 1,并执行原来A行代码
例如:
现在执行到第12行代码(12行未执行),当前的map里只有一个元素,我们可以在下面的Variables中确认只有一个元素

当我们点击step over时:第12行内容被执行,map的size变为2,程序来到第13行

3.2 step into 跟 Force step into

这两个都是表示:进入下一步,如果当前行断点是一个方法,则进入当前方法体内。但有一点区别,step into 只针对自定义的方法,如果对应的方法是官方库的方法,并不会进入方法体内。但Force step into,无论方法是什么方法,都会进入到方法体中
举例:
当执行到第15行,一个自定义的函数时:

使用 step into

则进入了该方法体内

但如果是这种官方库的方法,则无法进入:

此时,如果需要进入到方法体中,则需要使用Force step into:

这里进入到hashmap中

3.3 step out

跳出,即我们在方法体中运行时,不想继续一行一行的运行,想直接回到上一层的方法中,则使用step out跳出
如刚才上面的调试,我们进入到hashmap中:

使用:step out 跳出

3.4 resume program

恢复程序运行,如果该断点下面代码还有断点则停在下一个断点上,即从一个断点跳到另一个断点

例如:程序调试到13行,点击Resume Program,直接运行到下一个断点15行处才停止

执行后:

3.5 mute breakpoints

使得所有的断点失效 ,让所有断点失效,可以直接运行完剩余的程序

3.6 view breakpoints

查看所有断点的信息

查询结果:你可以看到自己设置的所有断点的信息:

3.6 条件断点

对断点是否停止进行条件判断,在断点处右键即可设置:

例如,如果我们这样子设置断点的话,我们调试的过程中,这段代码会停下来100次,如果我只想它在大于90的时候停止呢?

我们可以这样子,设置条件断点:

设置之后,断点处会加上“?”

进行调试时,停下的时候:

IDEA 断点使用(DeBug)相关推荐

  1. 断点调试 debug模式 1006

    断点调试 debug模式 1006 打断点 在需要监视的位置打断点 调试 F5可以开启调试 或者 调试>启动调试 视频 演练调试模式 c sharp 1006 - 西瓜视频 https://ww ...

  2. Java断点调试 idea断点调试 debug教程

    IDEA断点调试 Java程序断点调试 文章目录 IDEA断点调试 Java程序断点调试 前言 一.什么情况下需要debug 二.使用idea如何进行debug 三.假设案例分别进行debug教程 1 ...

  3. Eclipse 断点调试(Debug), 使用方法

    1.问题:Java学习中,使用Eclipse时,会遇到各种各样的问题,对内部底层的运行,或运行顺序不同,会导致不能真正理解,灵活运用. 使用debug断点调试,可以完成,程序每一步一步是怎么样运行的, ...

  4. idea断点_IDEA Debug 无法进入断点的解决方法

    前言 某个多模块项目中使用多个版本的 Spring,如 Spring 4,Spring 5,在使用 IDEA Debug 过程中发现,Spring 部分 jar 如 spring-core 中的上面断 ...

  5. gdb vscode 不进入断点_VScode配置MASM32运行环境(断点/运行/debug/配合emu8086(非DOSBox))...

    一.之所以不用DOSBox 不利于集成到VScode,执行代码需要新开窗口,配置繁琐.ps:而且加断点和调试复杂. 感谢masm-code插件的作者,终于可以补全啦qaq 添加关于调试的一些建议 二. ...

  6. idea可以正常启动无法进入断点_IDEA Debug 无法进入断点的解决方法

    前言 某个多模块项目中使用多个版本的 Spring,如 Spring 4,Spring 5,在使用 IDEA Debug 过程中发现,Spring 部分 jar 如 spring-core 中的上面断 ...

  7. 如何使用IDEA断点调试(debug), 用图文并茂的方式来教你

    文章目录 前言 一.为什么要使用debug 二.使用方法 1.逐行代码查看 2.数组越界 3.方法进入.出去 4.动态下断点 总结 前言 今天在刷算法题的过程中,遇到了很多错误,自己怎么想也想不明白, ...

  8. Goland如何断点调试Debug

    第一步:进入编辑模式 第二步:开始进行编辑  第三步:就可以进行调式了

  9. 开发日记-20190423 关键词 android静态代理类代理方法打断点debug 退出当前activity 闪退

    其实以前就已经遇到过这样的问题,但是很遗憾,一直没有找到问题所在,今天下定决心,弄了一个下午,终于发现了问题所在.不妨在你的真机上运行这样的代码,整个页面的布局其实真的很简单,就是在页面的中心有一个可 ...

  10. IDEA2022版教程下(快键键总结、Debug断点调试总结、22版本idea创建各种工程、关联数据库、常用插件)

    8.快捷键的使用 8.1 常用快捷键 1 通用型(复制,黏贴,剪贴-) 说明 快捷键 复制代码-copy ctrl + c 粘贴-paste ctrl + v 剪切-cut ctrl + x 撤销-u ...

最新文章

  1. 强大自己,从学习开始!2020年最有内容的订阅号,每一个都是万里挑一!
  2. 从单体式架构迁移到微服务架构,看这篇文章就行了!
  3. 震惊!Fibonacci Again
  4. Hibernate--什么是持久化?
  5. 单表60亿记录等大数据场景的MySQL优化和运维之道
  6. 自动生成数据同步存储过程的存储过程
  7. JS UUID生成(唯一ID生成)
  8. An Empirical Analysis of Anonymity in Zcash
  9. 微信小程序打开另一个小程序
  10. 用手机当电脑摄像头——Droidcam
  11. 配置快速生成vue模板
  12. 在一线城市生活一辈子需要多少钱
  13. 第五章 用正三和弦为平稳旋律配和声
  14. Android之多媒体视频的播放和录制
  15. python excel怎么将字母后的数字取出来_利用通配符将Excel中英文字母、中文、数字提取出来...
  16. 使用Kolla镜像Openstack多节点快速搭建部署
  17. java中jdbc查询有返回值_使用JdbcTemplate查询方法的返回值 | 学步园
  18. PMP考试有哪些科目
  19. 拉格朗日插值法《python数据分析与挖掘实践》
  20. 自己写php木马,自己写的php木马webshell扫描器

热门文章

  1. 超级手机病毒算是病毒吗?
  2. 微信支付服务商API 证书(权威CA颁发)是做什么用的?
  3. java中 jacob作用_【JAVA】JACOB使用简介
  4. [沧海拾遗]java并发之Executor
  5. java兼容rbg和cmyk格式的图片读取
  6. 亲测解决:warning ....No license field 问题
  7. 清华遣退学子戚柯、魏永康,请为我工作吧!
  8. Photo Album: 2008年6月田子坊续
  9. 《LeetCode笔记5》:每日温度
  10. python文件换行符_python3 读写文件换行符的方法