认真阅读完这篇文章熟练掌握关于IDEA断点调试操作(图文详解)
设置断点
选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可,再单击取消断点
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把断点分为四大类型(截图中只有三类):
- Line breakpoint(行断点):图中红色小圆圈。顾名思义,在指定代码行设置断点
- Field watchpoint(属性断点):图中红色小眼睛。打在类的属性(static or 非static)上的断点,作用是在该属性读取和写入时激活
- Method breakpoint(方法断点):图中红色小菱形。标记在方法签名的那一行,在该方法执行的入口/出口处被激活
- Exception breakpoint(异常断点):红色小闪电。这是一个特殊但很好用的断点,当程序抛出指定异常时会激活异常断点。和其它断点不同,异常断点是项目全局的,它不需要打在具体某一行上
认真阅读完这篇文章熟练掌握关于IDEA断点调试操作(图文详解)相关推荐
- 零基础Python入门学习,阅读完这篇文章就够了
Python 是一种高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.Python 由 Guido van Rossum 于 1989 年底在荷兰数学和计算机科学研究所发明,第一个公开发行版发 ...
- android导出微信朋友圈怎么发文字,微信朋友圈怎么发纯文字?看完这篇文章,你就知道该怎么操作了...
经常使用微信聊天的朋友,一定会发现明明微信朋友圈只支持发视频或图片,然后配文字发送,为什么有些人的朋友圈可以发送纯文字呢?本期文章就教教大家如何使用微信"发纯文字"的朋友圈. 以安 ...
- java与python难度对比_Python和Java的区别,看完这篇文章你就清楚啦
众所周知,在数不清的编程语言中Java自诞生之日起长盛不衰,可谓是神话般的存在.随着人工智能时代的到来,Python迅速席卷全球,作为当下最热门的编程语言,因其简单实用且应用场景广泛备受青睐. 一个是 ...
- 看完这篇文章学会epub批量转txt
epub是什么?可能很多没接触过的小伙伴不知道这是什么东西,但是对于那些喜欢看电子小说的朋友来说那可能就不陌生了. epub是一种电子出版文件,它的阅读效果非常好,但是因为这种格式在电脑上不是很通用, ...
- 看完这篇文章,你的Python基础就差不多了(附571集精品教程)
学一门语言贵在坚持用它,不用就淡忘了,而记录下一篇文章也有助于日后快速回忆.全文分为两大部分,分别是Python基础语法和面向对象. 入门Python其实很容易,但是我们要去坚持学习,每一天坚持很困难 ...
- 看完这篇文章后,你一定知道如何正确选股!
看完这篇文章后,你一定知道如何正确选股!篇幅很长,但是都是干货,请耐心阅读! 选股应该博爱!真正的股票投资人一定是拥有博爱情怀的.很多时候,股民们纠结于某只或某几只股票不能自拨,导致频频在股市中吃亏碰 ...
- python装饰器原理-看完这篇文章还不懂Python装饰器?
原标题:看完这篇文章还不懂Python装饰器? 1.必备 2.需求来了 初创公司有N个业务部门,1个基础平台部门,基础平台负责提供底层的功能,如:数据库操作.redis调用.监控API等功能.业务部门 ...
- 看完这篇文章之后,终于明白了编译到底怎么回事。
看完这篇文章之后,终于明白了编译到底怎么回事. 1 对于同一个语句,有如下三种:高级语言.低级语言.机器语言的表示 C语言 a=b+1; 汇编语言 mov -0xc(%ebp),%eax add ...
- 看完这篇文章之后,终于明白了编译到底怎么回事
看完这篇文章之后,终于明白了编译到底怎么回事. 1 对于同一个语句,有如下三种:高级语言.低级语言.机器语言的表示 C语言 a=b+1; 汇编语言 mov -0xc(%ebp),%eax add ...
最新文章
- python控制git版本库
- Hadoop学习笔记—4.初识MapReduce
- C#项目打包,并自动安装SQL数据库(转)
- 5天不再惧怕多线程——第三天 互斥体
- SQL Server学习之路(五):“增删改查”之“改”
- Excel表Ctrl+v和Ctrl shift+v有什么区别_Ctrl键与10个数字键,26个字母键的组合应用技巧解读...
- 如何理解 Objective-C Delegate
- [国嵌笔记][025][ARM指令分类学习]
- autowired 静态方法使用_静态方法中调用Spring注入过程解析
- h5扫描pc端二维码登录
- 赫夫曼编码树(图解+完整代码)
- linux—rm命令详解(一天一个命令)
- 三.MFC DLL窗口的创建和注入显示
- PrimoCache2.2.0汉化程序与2.0.0的交叉使用
- Canny算法中的非极大值抑制
- 是什么让区块链游戏变的“好玩”
- 计算机控制版面交换鼠标左右键,鼠标左右键怎么互换呢?左右键互换设置方法...
- docker-anpine镜像介绍
- 汉字在计算机上的表达方式
- 算法日记(十三)之动态规划