设置断点

选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可,再单击取消断点

ctrl + shift + f8 查看取消断点

开启调试会话


shift + f9 调试模式,开始断点调试

断点调试

Show Execution Point:回到当前激活的断点处。效果:若你鼠标现在在别的页面/别的类上面,点击它快速“归位”

Step Over步过:也叫单步调试,一行一行往下走,若这一行是方法也不会进入里面去。这个应该是平时使用得最多的按钮了,没有之一。所以,建议记住你的快捷键来提高效率哈

Step Into步入:进入方法体内部。这里的方法指的你自定义的方法or三方库的方法,不会进入到JDK官方的方法里(如上面的System.out.println()这种它是不会进去的)

Force Step Into强制步入:能进入任何方法,包括JDK的。一般查看底层源码才会用到它

Step Out步出:它是搭配(Force) Step Into一起使用的,当通过step into进入到方法体内部想出来时,一般有两种方案:单步调试慢慢出来,另一个就是step out(推荐)

  • Drop frame:回到当前方法的调用处,同时上下文内所有的变量的值也回到那个时候。该按钮能够点击的前提条件是:当前所处的方法有上级方法,如果你是main方法里,那么按钮就是灰色喽

  • Run to Cursor运行到光标处:你想要代码在哪里停一下,就把光标放在哪就成。这个功能实在太好用了,大大缓解了密密麻麻的断点,强烈推荐

  • Evaluate Expression表达式计算器:看图标就是个计算器嘛,所以你可以在这里执行任何合法的表达式

  • Java 8的流行,彻底让流式编程走进我们的视野。使用Stream编程的好处众多,但一直被大家诟病的是难以阅读和难以调试,特别是后者。

    为了调试它,我们经常需要插入其它断点,并分析流中的每个转换,不可为不麻烦。还好IDEA提供了处理该痛点的“能力”:当调试器在Stream API调用链之前或之内停止时,点击Trace Current Stream Chain这个图标即可以“非常好看”的图形化方式展示出来,一目了然:

  • 调试时动态修改变量的值

  • 条件进入断点方式

  • 多线程调试技术,每个线程设置断点,并设置Thread模式,可控制线程的调试顺序

四大断点类型

IDEA把断点分为四大类型(截图中只有三类):

  1. Line breakpoint(行断点):图中红色小圆圈。顾名思义,在指定代码行设置断点
  2. Field watchpoint(属性断点):图中红色小眼睛。打在类的属性(static or 非static)上的断点,作用是在该属性读取和写入时激活
  3. Method breakpoint(方法断点):图中红色小菱形。标记在方法签名的那一行,在该方法执行的入口/出口处被激活
  4. Exception breakpoint(异常断点):红色小闪电。这是一个特殊但很好用的断点,当程序抛出指定异常时会激活异常断点。和其它断点不同,异常断点是项目全局的,它不需要打在具体某一行上

认真阅读完这篇文章熟练掌握关于IDEA断点调试操作(图文详解)相关推荐

  1. 零基础Python入门学习,阅读完这篇文章就够了

    Python 是一种高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.Python 由 Guido van Rossum 于 1989 年底在荷兰数学和计算机科学研究所发明,第一个公开发行版发 ...

  2. android导出微信朋友圈怎么发文字,微信朋友圈怎么发纯文字?看完这篇文章,你就知道该怎么操作了...

    经常使用微信聊天的朋友,一定会发现明明微信朋友圈只支持发视频或图片,然后配文字发送,为什么有些人的朋友圈可以发送纯文字呢?本期文章就教教大家如何使用微信"发纯文字"的朋友圈. 以安 ...

  3. java与python难度对比_Python和Java的区别,看完这篇文章你就清楚啦

    众所周知,在数不清的编程语言中Java自诞生之日起长盛不衰,可谓是神话般的存在.随着人工智能时代的到来,Python迅速席卷全球,作为当下最热门的编程语言,因其简单实用且应用场景广泛备受青睐. 一个是 ...

  4. 看完这篇文章学会epub批量转txt

    epub是什么?可能很多没接触过的小伙伴不知道这是什么东西,但是对于那些喜欢看电子小说的朋友来说那可能就不陌生了. epub是一种电子出版文件,它的阅读效果非常好,但是因为这种格式在电脑上不是很通用, ...

  5. 看完这篇文章,你的Python基础就差不多了(附571集精品教程)

    学一门语言贵在坚持用它,不用就淡忘了,而记录下一篇文章也有助于日后快速回忆.全文分为两大部分,分别是Python基础语法和面向对象. 入门Python其实很容易,但是我们要去坚持学习,每一天坚持很困难 ...

  6. 看完这篇文章后,你一定知道如何正确选股!

    看完这篇文章后,你一定知道如何正确选股!篇幅很长,但是都是干货,请耐心阅读! 选股应该博爱!真正的股票投资人一定是拥有博爱情怀的.很多时候,股民们纠结于某只或某几只股票不能自拨,导致频频在股市中吃亏碰 ...

  7. python装饰器原理-看完这篇文章还不懂Python装饰器?

    原标题:看完这篇文章还不懂Python装饰器? 1.必备 2.需求来了 初创公司有N个业务部门,1个基础平台部门,基础平台负责提供底层的功能,如:数据库操作.redis调用.监控API等功能.业务部门 ...

  8. 看完这篇文章之后,终于明白了编译到底怎么回事。

    看完这篇文章之后,终于明白了编译到底怎么回事. 1 对于同一个语句,有如下三种:高级语言.低级语言.机器语言的表示 C语言  a=b+1; 汇编语言  mov -0xc(%ebp),%eax add ...

  9. 看完这篇文章之后,终于明白了编译到底怎么回事

    看完这篇文章之后,终于明白了编译到底怎么回事. 1 对于同一个语句,有如下三种:高级语言.低级语言.机器语言的表示 C语言  a=b+1; 汇编语言  mov -0xc(%ebp),%eax add ...

最新文章

  1. python控制git版本库
  2. Hadoop学习笔记—4.初识MapReduce
  3. C#项目打包,并自动安装SQL数据库(转)
  4. 5天不再惧怕多线程——第三天 互斥体
  5. SQL Server学习之路(五):“增删改查”之“改”
  6. Excel表Ctrl+v和Ctrl shift+v有什么区别_Ctrl键与10个数字键,26个字母键的组合应用技巧解读...
  7. 如何理解 Objective-C Delegate
  8. [国嵌笔记][025][ARM指令分类学习]
  9. autowired 静态方法使用_静态方法中调用Spring注入过程解析
  10. h5扫描pc端二维码登录
  11. 赫夫曼编码树(图解+完整代码)
  12. linux—rm命令详解(一天一个命令)
  13. 三.MFC DLL窗口的创建和注入显示
  14. PrimoCache2.2.0汉化程序与2.0.0的交叉使用
  15. Canny算法中的非极大值抑制
  16. 是什么让区块链游戏变的“好玩”
  17. 计算机控制版面交换鼠标左右键,鼠标左右键怎么互换呢?左右键互换设置方法...
  18. docker-anpine镜像介绍
  19. 汉字在计算机上的表达方式
  20. 算法日记(十三)之动态规划

热门文章

  1. ArcGIS配图/地图符号化的一些技巧与相关资料
  2. Unity超链接:支持点击事件,下划线以及自定义颜色
  3. 一款极简的原生农历日期滚动选择器(小程序版本)体积小,速度快
  4. poj2315足球游戏
  5. 机器学习多步时间序列预测解决方案
  6. 网易互娱2017实习生招聘游戏研发工程师在线笔试第二场(图像处理)
  7. 优化弹出框sweetalert.min.js插件
  8. 自旋波matlab计算,从电子到磁振子,自旋波计算开启新篇章
  9. 2010年软件业十大新闻事件
  10. 最新调研-持续集成和持续交付解决方案市场现状研究分析与发展前景预测报告