Debug断点调试技巧,学会真的香!!

简介: Debug断点调试技巧,学会真的香!!

一、前言

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应用,可以修改变量值。

3.使用技巧

3.1.条件断点

3.2.异常断点

3.3.动态修改断点值

3.4.断点控制线程优先级

相关文章
|
8月前
|
Python
pycharm使用debug的时候遇到断点不停的问题
pycharm使用debug的时候遇到断点不停的问题
572 0
|
7月前
深入理解Debug断点调试技巧
深入理解Debug断点调试技巧
161 1
断点调试(debug)
断点调试(debug)
22230 0
|
IDE 前端开发 数据可视化
保命小诀窍:IDEA远程Debug技巧,你了解吗?
前言 昨天看到一个问题,“疫情结束后你最想吃什么?” 仔细想了一下,火锅?烤肉? 看了一下体重秤,怕是只能报个健身房了。 你以为你胖N斤的时间复杂度是O(2^N), 事实上它是O(1),嗖嗖的.
|
XML Java 应用服务中间件
如何断点调试Tomcat源码
如何断点调试Tomcat源码 Tomcat作为一个老牌的一个Web容器框架,用途十分的广泛。无论是为了学习其框架的整体设计还是为了碰到问题更好的解决,作为程序员我们都应该对于Tomcat有一定的了解。
1088 0
|
Java 应用服务中间件 Docker
同事嫌我改Bug慢,原来是没掌握这些代码Debug技巧
代码Debug调试是研发工程师日常工作中必不可少的重要组成部分。进行代码Debug调试的目的无非就两个,一个是自我检查代码逻辑是否有问题,便于自己将Bug消灭在测试介入之前;另一个是进行线上问题排查定位,找到实际在跑业务的过程中出现的Bug。
同事嫌我改Bug慢,原来是没掌握这些代码Debug技巧
|
PHP
什么?你还不会断点调试代码
什么?你还不会断点调试代码
116 0
什么?你还不会断点调试代码
|
算法 Java 程序员
如何使用IDEA断点调试(debug), 用图文并茂的方式来教你
如何使用IDEA断点调试(debug), 用图文并茂的方式来教你
如何使用IDEA断点调试(debug), 用图文并茂的方式来教你
|
PHP
什么?你还不会断点调试代码(2)
什么?你还不会断点调试代码
109 0
什么?你还不会断点调试代码(2)
|
IDE Java 应用服务中间件
最好的IDEA debug长文?看完我佛了(下)
最好的IDEA debug长文?看完我佛了(下)

热门文章

最新文章