Idea多线程调试

作者 : admin 本文共1288个字,预计阅读时间需要4分钟 发布时间: 2024-06-16 共1人阅读

在 IntelliJ IDEA 中调试多线程应用程序可能会有些复杂,因为多个线程可能会同时运行和交互。不过,IDEA 提供了一些强大的工具来帮助你进行多线程调试。以下是一些关键步骤和技巧,帮助你有效地调试多线程应用程序:
创建一个示例多线程应用程序
首先,让我们创建一个简单的 Java 多线程应用程序作为示例:
在一些开发场景中,需要开启多线程调试模式,基于idea,代码如下

package com.lc.concurrency.multithreading;

/**
 * @author lc
 * @date 2024/6/12
 */
public class ThreadTest1 {

    public static void main(String[] args) {
        MyThread myThread = new MyThread();
        Thread thread1 = new Thread(myThread, "Thread 1");
        Thread thread2 = new Thread(myThread, "Thread 2");
        Thread thread3 = new Thread(myThread, "Thread 3");
        thread1.start();
        thread2.start();
        thread3.start();
    }
}


class MyThread implements  Runnable{
    @Override
    public void run() {
        System.out.println(Thread.currentThread().getName()+": is running");
    }

}

最重要的就是控制两个线程的执行顺序,我们要做的其实就是当另一个不处于调试状态的线程命中断点后,能先暂停,一直等到我去处理为止。经过一番折腾后发现,其实Idea提供了这个功能,在断点处右键
在IDEA中有一个设置,那就是当我们在断点处单击鼠标右键就会弹出一个设置对话框,当我们把其中的All 修改为 Thread之后,尝试重新执行debug代码,每一个线程都会进入到断点当中了。就实现了对多线程进行debug
使用 Debug 窗口
当应用程序在断点处暂停时,你将看到 IDEA 下方弹出 Debug 窗口。这个窗口提供了多个标签和信息:
Frames:显示当前线程的调用栈。
Variables:显示当前作用域内的变量。
Watches:允许你手动添加表达式以便监视其值。
Threads:显示所有活动线程。你可以选择不同的线程查看其状态和调用栈。
切换和管理线程
在 Debug 窗口的 Threads 标签中,你可以看到所有正在运行的线程。双击某个线程可以查看其调用栈和当前执行位置。你还可以右键点击线程来挂起或恢复它们。
操作步骤
1.在断点上【右键】选Thread。
Idea多线程调试插图

2.开三个线程发送请求(可以从画面上,分别使用三个用户发请求)。
下图中Threads标签下thread1、thread2、thread3就是三个线程。
Idea多线程调试插图(1)

当前线程的名字
Idea多线程调试插图(2)

debugger最右侧小方块按钮点击
3.切换线程执行。
点击下来列表选择●的线程。线程1切换线程2
Idea多线程调试插图(3)

4.想执行哪个线程就点F9执行即可。
执行完一个线程,会自动切换到另一个线程,继续F9执行即可。

Idea多线程调试插图(4)
Idea多线程调试插图(5)

Idea多线程调试插图(6)

本站无任何商业行为
个人在线分享 » Idea多线程调试
E-->