一、前言
1.为什么要使用Debug断点调试
断点调试也是学习和教授编程的重要工具。对于初学者来说,通过设置断点并一步步观察代码的执行,可以更好地理解程序的运行机制和逻辑。对于教授编程的人来说,可以使用断点调试来演示代码的执行流程和展示具体问题的解决方法,所以学会Debug无疑是门必修课!
2.使用的好处是什么
在我们写代码的时候,有时候编译运行不报错,但是程序运行结果与我们预先预料的不一致或是报错等问题,我们就可以通过Debug断点调试,每行代码跟踪运行,运行的过程中,可以看到变量的变化以及方法的调用等,可以更好的帮我们找出问题所在。
二、Debug断点调试技巧
1.初始Debug
首先我们要记住三个最基本的东西
断点:程序运行到断点后就不会运行了,等着你的操作指挥。
F6:向下逐行调试。
F5:向下逐行调试遇到方法调用跳入方法。
当断点还没运行到下一行变量就是空的,我们F6走完后看看结果
发现for中的arr数组以及变量有了值,这就是断点的好处可以动态的观察到变量的值。
即时窗口的运用
Window--->Show View--->Expressions
一种调试工具,可在集成开发环境(IDE)中使用。它提供了一个交互式的环境,可以在代码执行过程中进行即时的表达式求值和变量查看。
package com.xw.entity; public class DebugTest { public static void main(String[] args) { String a = ""; String b = ""; System.out.println("我是a字符串"+a); System.out.println("我是b字符串"+b); int[] arr = { 1, 5, 3, 2, 6, 7 }; for (int i = 0; i < arr.length; i++) { if (i == arr.length - 1) a+=arr[i]; else b+=arr[i] + ","; } System.out.println("我是a字符串"+a); System.out.println("我是b字符串"+b); } }
我们以这几行代码为例,在即时窗口中输入表达式后,按下回车键或特定的执行键(通常是 Enter 键),即时窗口将计算并显示表达式的结果。您可以在其中查看表达式的值或执行特定的操作。
2.认识eclipse中的Debug断点调试按钮及作用
1.关闭所有断点:作用是使其断点失效,我们如果打了断点但是不想调试又不能取消断点,就可以点击这个按钮失效断点。
2.执行调试的单步跳转(F8):当程序运行到断点处时,按下F8键将使程序执行一行代码,并跳转到下一行。这对于逐行调试程序以检查变量的值、执行路径或调用方法等非常有用。
3.暂停调试:用于在程序执行过程中暂停程序的执行。当程序执行到断点时,它会停止执行,并处于暂停状态,等待您进一步的操作。
4.终止调试:当您发现程序进入了无限循环或出现错误,无法继续执行时,可以使用 “Terminate” 来提前结束程序的执行。
5.F5进入方法:当执行断点调试的时候,运行下一步,如果是是方法调用会进入到方法里面,进行调试。
6.F6断点调试:会从断点开始执行然后向下逐行调试。
7.F7跳出方法:F5是遇到方法会进入,那么F7就是遇到方法后跳出方法继续向下执行。
8.内存剖析工具:"Drop to Fremo"的功能是将当前正在运行的Java应用程序转储(dump)到Fremo分析器中进行进一步的内存分析。它在调试Java应用程序的内存使用和性能问题时非常有用。
9.过滤: 这个功能比较简单,就是当我们在debug的时候想要忽略一些我们不关注的类时,可以开启Step Filters进行过滤,程序会一直执行直到遇到未经过滤的位置或断点。Step Filters功能由Use Step Filters,Edit Step Filters,Filter Type,Filter Package四项组成。
具体操作如下: Windows --> Preferences -> Java -> Debug -> Step Filtering.
10表达式expression窗口:写上自己需要观察的数据表达式或者修改变量值。
11.变量Variables窗口:显示当前方法的本地变量,非static方法,包含this应用,可以修改变量值。