Intellij Idea - 调试

调试器使应用程序调试更容易.使用调试器,我们可以在某一点停止程序的执行,检查变量,进入函数并做很多事情. IntelliJ提供内置的Java调试器.

断点

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

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

断点

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

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

  • 选择更多选项.

  • 要删除断点,只需点击相同的符号.

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

  • 导航到"运行"菜单.

  • 选择"调试"选项.

步骤进入

在调试时,如果遇到某个函数并且选择了一个步骤,那么调试器将在该函数的每个点停止程序执行,就好像为该函数启用了调试一样./p>

例如,当程序执行到达第9行时,如果我们选择步骤进入操作,那么它将停止执行每一行e sayGoodBye()功能.

程序执行

退出

步出操作与步骤操作完全相反.例如,如果您使用上述方案执行步出操作,则调试器将从 sayGoodBye()方法返回并在第10行开始执行.

Step Out

跳过

跳过动作不会进入功能相反,它将跳转到下一行代码.例如,如果您在第9行并执行步骤操作,那么它会将执行移至第10行.

跳过

恢复程序

恢复程序操作将通过忽略所有断点继续执行程序.

断点

停止操作

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

停止动作

智能步入

在调试时,我们有时可能会调用一行调用多种方法的代码.在调试这些代码行时,调试器通常允许我们使用步入并引导我们完成所有子函数,然后返回到父函数.但是,如果我们只想进入一个子功能呢?通过Smart step-into,它允许我们选择要进入的功能.

现在,让我们使用以下代码行创建一个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在编辑器窗口中显示变量值.我们还可以
在Debug窗口中查看相同的信息.

Inspecting Variables

评估表达式

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

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

  • 导航至运行 ->评估表达式.

  • 输入表达式.在下面给出的例子中,变量'i'的当前值是0;
    因此,表达式'i> 100'将评估为假

评估表达式