龙空技术网

如果你也会这样调试,那真是泰酷辣

阿里云开发者 142

前言:

当前你们对“阿里云怎么改操作系统”可能比较关切,姐妹们都需要学习一些“阿里云怎么改操作系统”的相关文章。那么小编在网摘上搜集了一些有关“阿里云怎么改操作系统””的相关资讯,希望同学们能喜欢,看官们快快来了解一下吧!

点击链接阅读原文,获取更多技术内容:如果你也会这样调试,那真是泰酷辣-阿里云开发者社区

学会如何利用 IDEA 高效 debug ,将会大大提升我们的工作效率,希望本文会给你一些参考。

作者 | 有清

来源 | 阿里云开发者公众号

一、引言

工欲善其事,必先利其器,学会如何利用 IDEA 高效 debug ,将会大大提升我们的工作效率。

基本的断点调试方式就不讲解了,网上有很多优秀的文章,这里会主要举一些我们日常工作中重要但是容易被忽视的调试技巧。

二、正文2.1 不暂停的 debug

通常情况下,我们断点的时候,会卡住当前线程。

假设我们在主预发或者公用环境进行debug,就老感觉背后有人在骂我,谁又在debug,环境怎么又不通了!所以当我们想要愉快在公用环境debug的时候要:

查看变量值

不暂停直接观察相关变量值

强行改变变量值是谁调用了我

可以直接观察到调用堆栈,类似 Arthas 的 trace

你进来了不

如果执行了断点所在位置,会在控制台打出一行日志:

2.2 快速执行表达式

我们通常在调试的时候,利用 Evaluate Expression...(option + F8),可以进行我们的表达式执行。

有一定开发经验的小伙伴肯定使用过这个功能,因为在工作中,这个调试技巧使用的频率还蛮高的,我们可以利用快捷键高效调试,例如下图:

快捷键:alt + d 唤起执行窗口 -> option + F9 定位光标处 -> option + command + f8 快速执行表达式

2.3 调试的时光倒流

有的时候,我们的小伙伴可能心太急,一路迅速 deubg,却忘记沿途的风景了,这个时候我们就需要利用到 drop frame,具体操作如下图所示:

2.4 仅调试循环中的一个条件

有的时候,我们只想调试 for 循环中的某个条件,假设我们这个循环有 100 次,其中只有第99次的循环是我们想要的,如果我们一直点点点,点到第99次,那真是有一点痛苦,我们可以这样:

2.5 谁给变量赋的值?

在我们的项目中,假设有个变量 a,我想知道这个流程中到底是谁给 a 赋过值,结果一反引,几百处引用,那么我该如何知道谁在方法中给 a 赋了值,我们只需要在 pojo 对象的 a 字段上打上断点即可,动图展示一下:

2.6 这个方法何去何从

在我们的项目中,有个接口 a,但是有无数的类实现了这个接口 a,我想调试到真正执行 a 方法的地方,我该怎么做?在无数实现类中 debug 吗?我们可以将断点打在这个接口 a 方法上(当然,这个将会使你的 debug 变慢)。

内容剩余60%,完整内容可点击下方链接查看:如果你也会这样调试,那真是泰酷辣-阿里云开发者社区

阿里云开发者社区,千万开发者的选择。百万精品技术内容、千节免费系统课程、丰富的体验场景、活跃的社群活动、行业专家分享交流,尽在:阿里云开发者社区-云计算社区-阿里云

标签: #阿里云怎么改操作系统