Skip to content

随记

将成功的东西整理成册,就能永远成功。

收集整理一些我常用的idea调试技巧

执行代码

该操作适用于以下场景

  • 需要在某个class的某个方法中执行一段代码,但是又无法修改这段代码,可以使用这个方法
  • 不想修改代码,但是又给某处逻辑赋值一个魔法值,以便走特定逻辑

原理

条件断点。既然条件断点里的判断语句在满足提交时一定会执行,那么我们就可以将自己准备执行的代码写在条件判断里,包装成布尔表达式

伪代码展示:布尔表达式 && (执行代码!=null),例如:如下代码

java
public class Test {
    public static void main(String[] args) {
        String str = "hello world";
        System.out.println(str); // 我就在这里断点,并重新赋值了str,最终输入将会改变
    }
}

1.条件断点.png

具体操作:

  1. 左键点击行号,出现红色小圆点
  2. 右击红色圆点,点击Condition输入框
  3. 键入str != null && (str = "666"),点击Done
  4. 运行代码,此时程序在断点处停留,由于&&运算符特性,操作符两边的表达式都为真,所以str = "666"会执行
  5. 查看打印结果为666

2.条件断点执行代码

Released under the MIT License.