《idea 骚操作》

《idea 骚操作》

提示: 本材料只做个人学习参考,不作为系统的学习流程,请注意识别!!!



1. Debug

1.1 Java 8 stream流调试

自从 Java 8 开始,作为程序员的我们都离不开 Stream 相关功能的使用。但总是有一些时候,我们对 stream 的操作所要的结果和预期不符,这就需要我们逐步调试,定位问题。

在对应stream流代码位置,打上断点

在这里插入图片描述

点击debug方式运行,点击trace current stresm chain按钮可以追踪stream流数据的流转过程!

,
在这里插入图片描述

当运行到第二个断点时,trace current stresm chain按钮为黑色,点击无效,此时我们可以用表达式方式进行调试, 具体表达式大家可根据实际情况书写!

,

1.2 字段debug调试

有些时候,我们查看源码时,类中的某个字段的值到底是在哪里改变的,你要一点点追踪调用栈,逐步排查,稍不留神,就可能有遗漏

我们可以在 IntelliJ IDEA 中为某个字段添加断点,当字段值有修改时,自动跳到相应方法位置

  1. 在字段定义处鼠标左键添加断点(会出现「眼睛」的图标)
  2. 在「眼睛」图标上鼠标右键
  3. 在弹框中勾选上 Field access 和 Field modification 两个选项

在这里插入图片描述

点击debug方式运行, 代码停顿在字段断点位置,点击放行按钮,代码进入到修改字段的位置,如下图所示:

在这里插入图片描述

1.3. idea debug处即兴抛异常

在测试一个事务方法的回滚是否生效时,我们就需要在代码里加一个异常,这种方式两个缺点就是:一你可能会忘记删除该异常代码(别不信),二是麻不麻烦?

在debug时走到断点处右键Frames下面的代码行,然后选择 Throw Exception
在这里插入图片描述

然后会弹出一个小窗口,在里面写上自己的异常就OK了:
在这里插入图片描述

1.4 idea debug加筛选条件运行

比如有一个很大的for循环,比如我们要看当i=1000时的情况,如果要一步一步的点,得点一千次,那么你就可以通过右击左侧断点,然后写上你的条件即可
在这里插入图片描述

写完条件done之后,下一次断点就会直接运行到i=1000的时候暂停。
同样,我们只看偶数的时候,可能直接通过i%2==0的条件放在里面

1.5 idea debug断点回退

人嘛,有时候总会手贱一下,比如我本来想在第一个断点就暂停查看的,结果手一抖点快了,直接跑到第二个方法了,这时咱们就能用到回退功能了。

在下图中的Frames里选中处右键,先择drop frame(我的idea版本是Reset Frame):

在这里插入图片描述
drop之后会发现当前栈信息被丢弃, 控制台信息恢复到上级方法栈 , 此时断点被回退
在这里插入图片描述

1.6 远程debug调试

1.6.1 服务器端

在启动jar包时加入jvm参数

以下是不同版本jdk加的参数

  • JDK 9+:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8882
  • JDK 5-8:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8882
  • JDK 4:-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8882
  • JDK 3-:-Xnoagent -Djava.compiler=NONE -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8882

在这里插入图片描述

1.6.2 本地idea配置

按照如下方式配置

在这里插入图片描述

1.6.3 开始调试

启动远程服务器上的服务

点击idea上的debug按钮开始调试

将断点打到要调试的位置, 请求服务器上的服务, 即可在本地代码断点处进行调试

在这里插入图片描述

2. 列编辑

2.1 对齐列编辑

按住alt键, 鼠标左键下拉会进入列编辑模式, 然后结合ctrl shift 等键组合, 即可实现列的跳转, 选中等操作(这里不做具体组合键的整理, 因为windows和mac操作略有区别, 大家可以自行百度)

在这里插入图片描述

2.2 对非对齐列编辑

针对一组可搜索的且不是对齐的字符串进行列编辑

在当前页面查询出需要进行列编辑的字符串, 点击选择Select All Occurrences 按钮进行列编辑
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值