如何在Intellij想法调试中跳过行?

2022-09-01 01:33:06

假设我有这样的java代码(仅作为示例):

public void someMethod(){
    int a = 3;
    int b = 2; // <-- stay debug here
    a = b + 2;
    System.out.prinln(a);
}

可以跳过行的执行并立即转到 ?a = b + 2;System.out.prinln(a);

附言:我使用Intellij Idea 12。


答案 1

调试器不可能不执行部分代码。

但是,可以执行额外的代码并更改变量的值,因此,如果需要在调试期间从执行中排除一行,则必须更改代码以准备此类调试。

public void someMethod() {
    int a = 3;
    int b = 2;
    boolean shouldRun = true;
    if (shouldRun) {
        a = b + 2;
    }
    System.out.prinln(a);
}

然后,您将设置一个断点,该断点在不停止执行的情况下更改 shouldRun 的值。它可以像这样完成。

enter image description here

请注意,

  1. 未选中暂停
  2. 日志计算表达式用于在命中断点时更改变量

答案 2

IntelliJ最近发表了一篇关于一个名为Jump to Line的插件的博客文章,即使IntelliJ本身没有此功能,也可以实现这一目标。令人惊讶的是,IntelliJ仍然没有这个功能,而Visual Studio已经拥有了这么多年!

https://blog.jetbrains.com/idea/2020/08/jump-to-any-line-while-debugging/