breakpoint调试有什么用?
断点调试对IT从业者不是一个陌生的概念,我认为它是每个程序猿(媛)从业者都避不开的且非常重要的技能之一。
调试技巧比编码技巧更为重要,因为花费在调试上的时间往往比编码还多,学到的东西比编码中学到的更丰富调试技能重要性甚⾄超过学习⼀门语⾔不会调试的程序员,肯定编制不出任何好的软件
说明:本文讲解是基于IntelliJ IDEA而非eclipse,因此我们从它的断点对话框开始:
熟练使用IDEA的断点调试(Breakpoint),大大提升你调试代码的效率(行断点、属性断点、异常断点、条件断点、远程debug...)【享学Java】_IntelliJ IDEA
弹出此对话框默认快捷键是:Ctrl + Shift +F8,在这里你可以管理你所有的断点(增删改)。
鼠标方式可以这样开启:Action-view breakpoints / 菜单run-view breakpoints
断点的基本概念
断点你可能天天都在使用,但是若真要你对它下定义,估计一时间还有点懵逼呢有木有?
断点:是一种附加在源代码上面的特殊标记,在调试模式(debug模式)下可以触发特定的动作,比如打印线程调用栈信息、计算值、打印指定表达式的值等等。Tips:断点一但设置就会一直保存在工程中直到手动删除~
断点若想生效,必须是调试模式(debug模式)下才行~
断点参数(断点属性)
断点并不是仅仅是孤立的存在的,它也可以通过参数进行定制化,这些叫断点参数。
不同类型的断点支持的断点参数也不尽相同,在下面具体介绍时会详细说明~
开胃小菜:比如最常用的条件断点,它就是断点参数的一个典型应用
断点的种类
据我粗略调查,80%的小伙伴打断点只会采用代码行左边鼠标单击这种最基础的方式打断点然后调试。其实在现实场景中,有非常非常多的情况下,这种方式将很难快速定位到问题所在,因此了解断点分类、调试技巧就显得有点必须了~
殊不知,IDEA给我们提供了丰富的断点类型,让我们能够在不同的调试场景下,使用不同的断点类型来大大提高我们的调