听说这 5 个调试代码的技巧,很多的程序员都不了解

2023-06-27 0 403

合作开发人员的组织工作文本,除绝大部分天数写标识符以外,即使有许多的天数是用在增容标识符上。即使说并非在增容标识符,是将要增容标识符。 🙂

那时他们来聊聊增容标识符的许多基本功,在采用IDE提供更多的debugger时许多快速韦谢列的形式。

看见那儿的好友,千万别立刻指出我标题党,先往下看一看,假如你除了许多更快用的基本功,热烈欢迎回帖。

一、多缓存增容

合作开发过多缓存应用领域的好友如果有感受,很多这时候,为的是检视数个缓存间表达式的相同状况,以

在 IDE 里PT5716SB0停留下来的这时候,能转换到除此之外的缓存中,跑其他的标识符,不能相互负面影响。总之,那儿是有个控制器的,在 Eclipse 里预设迈入,

但是在 IntelliJ IDEA 里预设是没迈入的。换句话说假如你在 IDEA 里标识符格但斯克PT5716SB0,尽管三个缓存的断了留下来,但其他缓存的早已继续执行过了。该处把缓存的 suspend 设成和 Eclipse 商业模式那样后,也能早已开始多缓存应用领域的增容。单纯增设能间接在PT5716SB0处,将 suspend 换成 Thread

听说这 5 个调试代码的技巧,很多的程序员都不了解

三个缓存断留下来后,能透过在缓存询问处转换,到其他缓存中竭尽全力运转。

IntelliJ IDEA 里在那儿转换

听说这 5 个调试代码的技巧,很多的程序员都不了解

他们看见 main 缓存和 pool-1-thread-1 这三个缓存都处在 RUNNING 状况,转换到任何人三个都能竭尽全力运转。

此时,就能写三个多缓存的应用领域,同时向 ArryList 这一类非缓存安全的容器中存放文本,然后检视为什么他们是缓存不安全的,会出现什么问题,生动又形象。

PS: 那儿顺道说一下,这是为什么创建缓存时建立起三个有意义的名字,至少是能识别的名字,否则在这里都不能区分出哪个是自己的缓存,想转换还麻烦。

二、后退继续执行

那儿所说的后退继续执行,是很多这时候他们在 debug 标识符时,懒的每个方法都进入单步增容,就会出现你检视三个表达式值的变化时,某个方法没跟进去,结果值就变了,不得不重来一次。

依靠后退继续执行的功能,能后退,就像下棋时悔棋那种功能那样。总之,那个后退继续执行的名字是我自己起的,在 IDE 里被称为 Drop Frame。

听说这 5 个调试代码的技巧,很多的程序员都不了解

有了那个功能,他们在 Drop 了当前那个 Frame 后,早已改变的表达式值不能恢复。比如你向当前调用方法里传入了三个 List,并且在方法中向 List 里添加了文本,那在 Drop 到调用该方法的地方时,List 不能恢复到之前的状况。

但在该方法再次被调用时,你能检视 List 什么这时候被改变的,至少不需要再重跑一遍程序了。即使你能一言不合就后退。

三、条件PT5716SB0

为的是增容标识符,就需要在要检视变更的地方添加PT5716SB0,然后小心翼翼的一步步继续执行。但假如是在三个循环里,又或者该方法会被多缓存同时调用到的这时候,你小心的向下单步增容,发现没你关心的文本,又从循环早已开始处跑留下来,还是没你的文本,人就早已开始烦燥起来。

其实,在添加PT5716SB0的这时候,他们能为PT5716SB0增加一定的条件,这样,在指定的条件满足时,PT5716SB0才会生效。

IntelliJ IDEA 内,在PT5716SB0上右击,会弹出如下图的条件框,输入指定的条件即可。

听说这 5 个调试代码的技巧,很多的程序员都不了解

有了条件PT5716SB0,不相关、不感兴趣的标识符就可以间接跳过了。

四、片断标识符

那个没想好用什么名字来表述。很多这时候在增容过程中,忽然想招待一段与此相关,但不在源文件中的标识符来检视一下,辅助进行问题分析。此时你会停止程序,添加标识符然后重新跑一次吗?

在 IDEA 里有三个继续执行标识符片断的功能,能在当前标识符的上下文内,继续执行你临时写的标识符。

例如,当前方法传入三个 List,但那个方法里少三个你后面条件需要采用到的元素,此时你能临时采用片断标识符继续执行的功能,添加三个进去。

注意,在 IntelliJ IDEA 里,那个上面红框,像个小计算器的按钮是临时继续执行的功能,点击后,会弹出按钮下方那个 Evaluate Expression 的框,输入标识符,点击右下角的 Evalute 即可。返回值会显示在 Result 处。

听说这 5 个调试代码的技巧,很多的程序员都不了解

这就相当于临时改变了表达式文本。

听说这 5 个调试代码的技巧,很多的程序员都不了解

五、查看表达式修改值

每个 IDE 在增容标识符时都提供更多了一个检视当前上下文表达式值的询问处。其实除查看以外,许多非 final 的基本类型,还能间接在该处修改值。这样假如多次循环继续执行时,每次能恢复到期望的值,不需要重启程序。

听说这 5 个调试代码的技巧,很多的程序员都不了解

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务