Idea多线程调试
创作时间:
作者:
@小白创作中心
Idea多线程调试
引用
CSDN
1.
https://blog.csdn.net/Fireworkit/article/details/139625246
在 IntelliJ IDEA 中调试多线程应用程序可能会有些复杂,因为多个线程可能会同时运行和交互。不过,IDEA 提供了一些强大的工具来帮助你进行多线程调试。以下是一些关键步骤和技巧,帮助你有效地调试多线程应用程序:
创建一个示例多线程应用程序
首先,让我们创建一个简单的 Java 多线程应用程序作为示例:
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 标签中,你可以看到所有正在运行的线程。双击某个线程可以查看其调用栈和当前执行位置。你还可以右键点击线程来挂起或恢复它们。
操作步骤
- 在断点上【右键】选Thread。
- 开三个线程发送请求(可以从画面上,分别使用三个用户发请求)。
- 切换线程执行。点击Debugger最右侧小方块按钮,选择要切换的线程。
- 想执行哪个线程就点F9执行即可。执行完一个线程,会自动切换到另一个线程,继续F9执行即可。
点击下来列表选择●的线程。线程1切换线程2
执行完一个线程,会自动切换到另一个线程,继续F9执行即可。
热门推荐
水分解绿氢能否代替石化能源?《科学》
氢能汽车发展现状及未来展望
高反头疼得要炸了怎么办
高原反应头痛怎么缓解
时空是量子化的吗?六种方法解开宇宙的结构
非全日制研究生:高效学习与职业发展的双赢策略
“三中心一所”配齐,深圳生物医药产业的大战略是什么
MCS-51单片机内部组成部分详解
减速型起动机的作用和工作原理是什么?
电子PCB板老化测试指南
电子PCB板老化测试指南
CAD好学吗?怎么入门?过来人经验谈,让你少走弯路
CAD学习方法及技巧
A证可以开哪些车?A1、A2、A3驾照的区别解析
养老服务监管:构建坚固防护网
公路隧道照明节能灯:关键技术与设计要点
安菲尔德风云:利物浦VS巴黎圣日耳曼,中场核心赫拉芬贝赫成关键
湖北丹江口均县镇:擦亮“均州名晒烟”地标产业
2名学生谎报火警还骂人?处理结果来了......
经验补丁:路亚作钓四季的温度与水温对鲈鱼生活的影响
你真会洗头吗?正确洗头四步法详解
性格测试成为招聘“标配”,真的准吗?
我国研究团队发现帕金森病全新治疗靶点 将推动药物研发
黄金坑投资策略解析,掌握市场波动规律
玉米面钓鱼饵料配方及制作方法
Rust不仅仅是内存安全:语言设计的正确性与应用实践
【教育关注】暑假到了,这些免费学习平台化身“带娃神器”!推荐收藏
柿饼是热性还是凉性
脆柿子10种最佳吃法
英伟达A100显卡定制版与原厂版的八大区别