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

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

科技


阿里妹导读


学会如何利用 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 变慢)。

2.7 断点执行至光标处

我们当前断点停止在第 5 行,假设我们想断点调试第 12 行,一般来说,我们在 12 行断点,然后直接往下走即可:

但其实我们可以这样:

直接 Run to Cursor (强烈建议快捷键操作,更加丝滑 option + F9),就可以直接断点到我们的 12 行。

2.8 异常断点

全局异常断点,会自动断点到我们出现异常的地方,具体操作可见图:

欢迎加入【阿里云开发者公众号】读者群


这是一个专门面向“阿里云开发者”公众号的读者交流空间
💡 在这里你可以探讨技术和实践,我们也会定期发布群福利和活动~
欢迎扫码或者添加微信:argentinaliu 加入我们👇


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
“140和180的男生到底差在哪里?”网友:那真是肉眼可见啊...如果你还记得年初流感的痛,有个疫苗现在可以打一打了!如果你想做一个艺术家,先去成为战士如果你常这样说话,孩子、伴侣都会远离你泰酷辣!舒服、好看、简潮,连我这个当妈的都忍不住和孩子抢衣服穿如果把易梦玲眼位下调1cm,再演刘亦菲版白秀珠也会被骂这么惨吗?想象的翅膀等你活明白了,你也会跟我一起“和稀泥”工厂往事如果你不去寻求这样的爱情,你的自由就失去了目标谁是泰阿泰德的“灵魂托管人”12/2/2023-12/8/2023 法拉盛新龍興:看这平凡如你我的烟火人生,如果你也恰好路过,来见一面吧,就在法拉盛新龍興!“如果你身边有这样的人,一定要好好珍惜”泰酷辣!芝加哥104岁奶奶 放下拐杖去跳伞 一跃打破世界纪录如果你家的菜板是这样,请立刻丢掉解密deepin-IDE:如何实现简单灵活的调试技术?趣图:这就是传说中的“小鸡调试法”?有钱的加拿大人文学城网红如果你来相约,那我再忙也会说有空高僧大德的信念和堅強對普通人大有啟發低调试营业9个月,银泰百货“美妆集合店新物种”亮相如果你使用过 “Free Download Manager”,必读! | Linux 中国老喻:如何用贝叶斯,“调试”好运气的概率怎样调整架构,提高组织效能?如果你觉得女儿不如男,那么现实也会如你所愿!智能家居东南飞,中国企业探路“泰酷啦”Linux内核的经典调试方式刘銮雄说甘比不爱钱,那真是本世纪最大的笑话泰酷辣!多伦多周末湖滨遛娃:海军表演、看装甲车、大黄鸭......智讯|问界新 M7 卖 24.98 万元;新款特斯拉支持自动换挡;小米汽车进入生产调试冲刺阶段学会这个方法,你也能痛击职场pua拉勾招聘&知乎:2024届高校毕业生求职抽样调研报告如果我是房东,现在会这么卖房[模型] STEAM AK400 3D电动直升机调试CHH首发分享
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。