Idea断点调试(debug)详解

这篇具有很好参考价值的文章主要介绍了Idea断点调试(debug)详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.打断点,并启动

打断点:

鼠标左键点击这里就会出现一个红点标志 Idea断点调试(debug)详解(有各种形状,后续解释),就打上了一个断点。

Idea断点调试(debug)详解

启动:

  • 对于已经运行过的程序,直接点击,小虫子就能启动
    Idea断点调试(debug)详解
  • 对于没有运行过的程序,找到程序入口(main方法)前面的三角形 Idea断点调试(debug)详解 ,鼠标右键启动

Idea断点调试(debug)详解

启动后,当我们的程序执行到断点程序处,就会出现调试界面,如下:
Idea断点调试(debug)详解

如果没有出现调试界面,那就是说明:根本没有执行断点处的程序。

2.按钮介绍

1.测试程序

先写一个简单的类来做测试,如下:

public class TestDemo {

    public static int add(int a, String b) {
        int c = Integer.parseInt(b);
        return a + c;
    }

    public static char sub(int d, int e) {
        char res = (char) Math.abs(d - e);
        return res;
    }

    public static void main(String[] args) {
        String b = "45";
        int a = 13;
        int sum = add(a, b);
        int d = 17;
        int e = 89;
        char f = sub(17, 89);
    }
}

接着,找个地方打上断点(确保程序会执行的地方)打上断点:
Idea断点调试(debug)详解

然后开始debug。

2.Step Over

步过:
Idea断点调试(debug)详解

作用:文章来源地址https://www.toymoban.com/news/detail-475079.html

  • 一行代码一行代码地往下执行
  • 不会进入到路经的方法里面

3.Step Into

步入:
Idea断点调试(debug)详解

作用:

  • 进入我们自定义的方法
  • 不会进入其他类库的方法

4.Force Step Into

强制步入:
Idea断点调试(debug)详解

作用:

  • 可以进入更深层次的方法
  • 自定义类库或者其他类库的方法都能进入

5.Step Out

步出:
Idea断点调试(debug)详解

作用:

  • 从对应的方法中出来,返回上一层

6.Drop Frame

回退断点:
Idea断点调试(debug)详解

作用:

  • 当进入到更深层的方法后才能使用
  • 当我们错过了debug的位置时使用
  • 这个按钮可以让焦点回到调用方法之前,然后再次debug一次方法(给你犯错重来的机会)
  • 对于数据库增删改操作无法回退

注意: 此回退仅限于,那个方法还没有调用完,否则是无法回去的再次debug那个方法的,只能重新启动debug。

7.Run to Cursor

跳到光标处
Idea断点调试(debug)详解

作用:

  • 将debug执行位置跳转到光标位置,然后继续debug
  • 只能往后面跳,如果光标在debug执行位置前面,就会终止debug

8.Evaluate Expression

表达式计算:
Idea断点调试(debug)详解

作用:

  • 获取已经debug过的参数的值
    Idea断点调试(debug)详解Idea断点调试(debug)详解
  • 计算已经debug过的参数的值(表达式、方法)
    Idea断点调试(debug)详解Idea断点调试(debug)详解

9.Resume Program

恢复程序:
Idea断点调试(debug)详解

作用:

  • 当有多个断点时使用
  • 直接跳转到下一个断点的位置
    Idea断点调试(debug)详解

10.Stop

停止程序:
Idea断点调试(debug)详解

作用:

  • 停止debug
  • 会继续跑完程序

11.View BreakPoints

查看断点:
Idea断点调试(debug)详解

作用:

  • 查看所有断点,并进行相关设置
    Idea断点调试(debug)详解

12.Mute BreakPoints

禁用断点:
Idea断点调试(debug)详解

作用:

  • 暂时禁用掉所有断点,放行程序

3.断点分类

1.方法断点

Idea断点调试(debug)详解

给方法打上断点之后,当我们的debug到调用该方法的位置的时候,会直接跳转到方法处(直接Step Out就会跳转)。

2.属性断点

Idea断点调试(debug)详解

断点右键可以进行设置:
Idea断点调试(debug)详解

3.异常断点

添加异常断点流程:

Idea断点调试(debug)详解Idea断点调试(debug)详解Idea断点调试(debug)详解

作用:

  • 在全局打上异常(上述添加的是堆栈溢出异常)
  • 只要哪里出现了堆栈溢出异常,程序就会跳转到那个地方,方便快速找到异常位置
  • 可在run程序抛出异常后,根据异常去打断点,然后进行调试

4.条件断点

右键断点,设置条件,只有当满足条件时,才会进入该断点程序停留,否则就直接往下面执行程序。

Idea断点调试(debug)详解

5.流断点

调试流程:

  • 代码:

        public static void main(String[] args) {
            Stream.of(10, 30, 50, 90, 40)
                    .mapToLong(e -> e*e )
                    .filter(e -> e > 2500)
                    .forEach(System.out::println);
        }
    
  • 断点调试:
    Idea断点调试(debug)详解
    Idea断点调试(debug)详解

作用:

  • 可以查看流的工作流程

6.多线程断点

调试流程:

  • 代码:

        public static void main(String[] args) {
            new Thread(() -> {
                System.out.println();
                System.out.println("thread1 is running");
                StringBuilder sb = new StringBuilder(".");
                for (int i = 0; i < 10; i++) {
                    try {
                        Thread.sleep(100);
                        System.out.print(sb.append(".").toString());
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }, "thread1").start();
    
            new Thread(() -> {
                System.out.println();
                System.out.println("thread22 is running");
                StringBuilder sb = new StringBuilder(".");
                for (int i = 0; i < 10; i++) {
                    try {
                        Thread.sleep(100);
                        System.out.print(sb.append(".").toString());
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }, "thread22").start();
    
            new Thread(() -> {
                System.out.println();
                System.out.println("thread333 is running");
                StringBuilder sb = new StringBuilder(".");
                for (int i = 0; i < 10; i++) {
                    try {
                        Thread.sleep(100);
                        System.out.print(sb.append(".").toString());
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }, "thread333").start();
        }
    
  • 断点:
    Idea断点调试(debug)详解Idea断点调试(debug)详解

  • 查看输出:
    Idea断点调试(debug)详解

作用:

  • suspend 设置为 Thread
  • 这样就可以单个线程单个线程地调试,而不会出现,线程之间争抢资源的情况(线程不断切换)

到了这里,关于Idea断点调试(debug)详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一加8手机【ColorOS Android 13】使用Android Studio在Debug断点调试时自动断开崩溃

    一加8手机(系统是ColorOS  Android版本: 13) 在使用android studio进行usb调试过程中, 总是在几秒钟之后就自动崩溃退出应用(代码正常,使用其他测试机正常调试), 调试自然也就断开了;  解决办法: 将【禁止权限监控】开关 打开即可; --【其他设置】--【开发者选项】--【应用】--【禁止

    2024年02月12日
    浏览(44)
  • IDEA CTRL + 鼠标左键 查看引用的类和方法名 失效

    突然IDEA的 Ctrl+鼠标左键 点在方法名上或者类名上,弹不出被引用的列表 ; 还显示 \\\" 2 usages are out of scope ‘Project test files’ Press Ctrl+Alt+F7 again to search in ‘Project Files’ \\\" 此时按Ctrl+Alt+F7是可以出现引用的列表的,但是我要的是Ctrl+鼠标左键 显示被引用的列表啊! 处理办法, 在Edit -

    2024年02月15日
    浏览(35)
  • 新版IDEA使用ctrl + 鼠标左键单击打开代码覆盖原标签问题

    升级到2023.01版本之后,与旧版本各种不同,其中用的最难受的就是ctrl+左键选中文件后会覆盖,今天做个记录予以解决 解决方法: 依次点击:File - Settings - Editor - General - Editor Tabs 下图所示,取消勾选即可解决!

    2024年02月04日
    浏览(31)
  • idea的断点调试

    1、行断点 首先在代码的最左侧点击会显示红色的圆圈 第二步在main方法中右键选中debug run进行运行 会出现下面图片的情况 出现上图之后,点击console 下一步 这个时候就可以看到调试的结果了 6、方法调用栈:这里显示了该线程调试所经过的所有方法,勾选右上角的[Show All

    2024年02月10日
    浏览(22)
  • Idea 对容器中的 Java 程序断点远程调试

    直接在java程序中添加log.info(),根据需要打印信息 然后打包覆盖,根据日志查看相关信息 第二种:远程调试 在IDEA右上角点击编辑配置 设置相关参数 在Dockerfile中加入 完整代码如下: 或直接用命令 启动容器,然后开启IDEA的调试模式(注意不是运行),控制台显示连接成功即

    2024年02月05日
    浏览(27)
  • 第04章_IDEA的安装与使用(下)(IDEA断点调试,IDEA常用插件)

    8.1 常用快捷键 8.2 查看快捷键 1、已知快捷键操作名,未知快捷键 2、已知快捷键,不知道对应的操作名 8.3 自定义快捷键 8.4 使用其它平台快捷键 苹果电脑或者是用惯Eclipse快捷的,可以选择其他快捷键插件。 9.1 为什么需要Debug 编好的程序在执行过程中如果出现错误,该如何

    2024年01月23日
    浏览(36)
  • IDEA远程DeBug调试

    1. 介绍 当我们在开发过程中遇到一些复杂的问题或需要对代码进行调试时,远程调试是一种非常有用的工具。使用 IntelliJ IDEA 进行远程调试可以让你在远程服务器上的应用程序中设置断点、查看变量和执行调试操作。 远程调试的好处如下: 提供更方便的调试环境:通过远程

    2024年02月11日
    浏览(39)
  • Idea实现远程debug调试

    2024年04月26日
    浏览(35)
  • IntelliJ IDEA远程调试:使用IDEA Remote Debug进行高效调试的指南

    在开发分布式系统时,调试是一个重要但复杂的环节。开发者通常需要跨越多个服务、模块和线程来追踪和解决问题。在没有远程调试的情况下,许多开发者会在代码中添加各种日志语句,然后重新部署和上线来调试。这种方法不仅费时,而且可能引入额外的错误或问题。

    2024年02月09日
    浏览(31)
  • idea 对JavaScript进行debug调试

    前言 : 工作中接手别人的前端代码没有注释,看浏览器的network或者console切来切去,很麻烦,可以试试idea自带的 javscript debug 功能。 浏览器中输入url 查看debug断点 看到断点的变量就显示了。 大功告成!!

    2024年02月11日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包