Intellij Idea - 调试


调试器使应用程序调试变得更加容易。使用调试器,我们可以在某个点停止程序的执行、检查变量、单步执行函数并执行许多操作。IntelliJ 提供内置的 Java 调试器。

断点

断点允许在某个点停止程序执行。可以通过将鼠标悬停在编辑器的装订线区域上并单击它来设置断点。

断点用红色圆圈符号表示。考虑在第 3 行设置的断点。

断点

请考虑以下步骤以了解有关断点如何工作的更多信息 -

  • 右键单击红色圆圈符号。

  • 选择更多选项。

  • 要删除断点,只需单击相同的符号即可。

按照以下步骤启动调试器 -

  • 导航到“运行”菜单。
  • 选择调试选项。

步入

调试时,如果遇到某个函数并选择了进入操作,则调试器将在该函数的每个点停止程序执行,就像为该函数启用了调试一样。

例如,当程序执行到第 9 行时,如果我们选择进入操作,那么它将在sayGoodBye()函数中的每一行停止执行。

程序执行

走出去

Step out 动作与 Step in 动作正好相反。例如,如果您在上述场景中执行步出操作,则调试器将从sayGoodBye()方法返回并在第 10 行开始执行。

走出去

跨过去

Step over 动作不会进入函数,而是跳转到下一行代码。例如,如果您在第 9 行执行步过操作,那么它将执行到第 10 行。

跨过

简历计划

“恢复程序”操作将忽略所有断点来继续执行程序。

断点

停止动作

停止操作有助于停止调试器。

停止行动

智能步入

在调试时,我们有时可能会遇到调用多个方法的一行代码。在调试这些代码行时,调试器通常允许我们使用单步执行并引导我们完成所有子函数,然后返回到父函数。然而,如果我们只想单步执行一个子函数怎么办?通过智能步入,它允许我们选择要步入的功能。

现在,让我们使用以下代码行创建一个 Java 类 -

public class HelloWorld {
   public static void main(String[] args) {
      allFunctions();
   }
   static void allFunctions() {
      System.out.println(function1() + " " + function2() + " " + function3());
   }
   static String function1() {
      return "function1";
   }
   static String function2() {
      return "function2";
   }
   static String function3() {
      return "function3";
   }
}

在上面的代码中,allFunctions()又调用了 3 个函数。让我们在此函数处设置断点。按照以下步骤执行智能步骤 -

  • 去跑步
  • 选择智能步入。
  • 选择要执行的子函数。
子函数

检查变量

在调试期间,IntelliJ 在编辑器窗口本身中显示变量的值。我们也可以在调试窗口中查看相同的信息。

检查变量

评估表达

评估表达式允许动态评估表达式。请按照以下步骤执行此操作 -

  • 在调试器中启动应用程序

  • 导航到“运行”->“评估表达式”。

  • 输入表达式。在下面给出的示例中,变量“i”的当前值为 0;因此,表达式“i > 100”将计算为 false

评估表达