《idea 骚操作》

《idea 骚操作》

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


《idea 骚操作》

  • 《idea 骚操作》
  • 1. Debug
    • 1.1 Java 8 stream流调试
    • 1.2 字段debug调试
    • 1.3. idea debug处即兴抛异常
    • 1.4 idea debug加筛选条件运行
    • 1.5 idea debug断点回退
    • 1.6 远程debug调试
      • 1.6.1 服务器端
      • 1.6.2 本地idea配置
      • 1.6.3 开始调试
  • 2. 列编辑
    • 2.1 对齐列编辑
    • 2.2 对非对齐列编辑


1. Debug

1.1 Java 8 stream流调试

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

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

《idea 骚操作》_第1张图片

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

《idea 骚操作》_第2张图片
《idea 骚操作》_第3张图片

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

1.2 字段debug调试

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

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

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

《idea 骚操作》_第4张图片

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

1.3. idea debug处即兴抛异常

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

在debug时走到断点处右键Frames下面的代码行,然后选择 Throw Exception

然后会弹出一个小窗口,在里面写上自己的异常就OK了:
《idea 骚操作》_第5张图片

1.4 idea debug加筛选条件运行

比如有一个很大的for循环,比如我们要看当i=1000时的情况,如果要一步一步的点,得点一千次,那么你就可以通过右击左侧断点,然后写上你的条件即可
《idea 骚操作》_第6张图片

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

1.5 idea debug断点回退

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

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

《idea 骚操作》_第7张图片
drop之后会发现当前栈信息被丢弃, 控制台信息恢复到上级方法栈 , 此时断点被回退
《idea 骚操作》_第8张图片

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配置

按照如下方式配置

《idea 骚操作》_第9张图片

1.6.3 开始调试

启动远程服务器上的服务

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

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

《idea 骚操作》_第10张图片

2. 列编辑

2.1 对齐列编辑

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

《idea 骚操作》_第11张图片

2.2 对非对齐列编辑

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

在当前页面查询出需要进行列编辑的字符串, 点击选择Select All Occurrences 按钮进行列编辑
《idea 骚操作》_第12张图片
《idea 骚操作》_第13张图片

你可能感兴趣的:(IDEA,intellij-idea,java,ide)