一、问题描述

在idea中的进行调试时,代码中有多线程,想对线程中的代码进行跟踪,代码如下:

    1. for (int i = 0; i < 5; i++) {
      1. final int index = i;
        1. executorService.execute(new Runnable() {
          1. @Override
            1. public void run() {
              1. System.out.println(index);
                1. }
                  1. });
                    1. }
                  1.  

                  在以上代码中打了三个断点,如下:

                  断点1和断点2能打到,断点3死活进不去。。。

                  二、解决方法

                  原来debug是分级别的:all, thread

                  默认是all,然后只会debug到本线程的断点,修改成thread就可以swap Thread 来debug了

                  注意:

                  千万要注意,如果想进入Thread Debug,就必须所有的断点都是Thread 类型的,否则还是进不去,如我在断点1用的是All

                  断点2和断点3用的是Thread类型,会发现断点3根本就进不去。。。如果进去了的话,就会出现如下提示

                  可以进行进程切换

                  IDEA 多线程Debug的更多相关文章

                  1. 单例模式-懒汉式的一次多线程Debug

                    单例模式要要点就是一个类只会存在一个实例,要想达到这种效果,最重要的就是将构造方法设置为私有,然后通过static的方法来获取对象. 上述设计并不线程安全,因为在lazySingleton = new ...

                  2. 设计模式课程 设计模式精讲 8-2 单例设计模式-懒汉式及多线程Debug实战

                    1 主要内容 1.1 多线程debug 1.2 synchronized同步锁的调用 1.3 懒加载的应用 2 代码演练 2.1 单线程调用 2.2 多线程调用 2.3 锁的调用 1 主要内容 1.1 ...

                  3. 关于Winform 2.0以后多线程不能更新UI的办法

                    DotNet 2.0以后Winform在多线程Debug模式下更新UI会报这个错: 线程间操作无效: 从不是创建控件"XXX"的线程访问它. 解决办法如下: 1.在Winform的 ...

                  4. IDEA 图标介绍。 缓存和索引介绍、清理方法和Debug使用

                    一.图标 二.缓存和索引 IntelliJ IDEA 的缓存和索引主要是用来加快文件查询,从而加快各种查找.代码提示等操作的速(上图中的图标能这样显示也是靠索引).某些特殊条件下,IntelliJ I ...

                  5. IntelliJ IDEA. Debug模式

                    资料收集: https://www.bilibili.com/video/av6749471/?p=16 eclipse debug模式. 基础 Intellij Idea--Debug使用 Inte ...

                  6. 2019年北航OO第二单元(多线程电梯任务)总结

                    一.三次作业总结 1. 说在前面 对于这次的这三次电梯作业,我采用了和几乎所有人都不同的架构:将每个人当作一个线程.这样做有一定的好处:它使得整个问题的建模更加自然,并且在后期人员调度变得复杂时,可以 ...

                  7. VS2010编译Boost 1.57 静态链接库

                    http://www.cnblogs.com/cuish/p/4175491.html 0.前提 Boost库版本 1.57.0 下载地址 http://www.boost.org/users/his ...

                  8. C++的XML编程经验――LIBXML2库使用指南[转]

                    C++的XML编程经验――LIBXML2库使用指南 写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML ...

                  9. SNMP的工作原理&软件开发

                    SNMP(Simple Network Management Protocol,简单网络管理协议)首先是由IETF的研究小组为了解决Internet上的路由器管理问题而提出的.SNMP的设计原则是简单 ...

                  随机推荐

                  1. AsyncCallback BeginInvode endinvode 异步调用

                    下面是搜藏的代码: //首先准备好,要进行C#异步调用的方法(能C#异步调用的,最好不多线程) private string MethodName(int Num, out int Num2) { N ...

                  2. VIP的转移

                    首先查看vip在各个节点的状态 [root@rac2 ~]# ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:C9:28:D0 inet addr: ...

                  3. tensorflow compile

                    bazel  build  --spawn_strategy=standalone tensorflow/examples/label_image/...

                  4. Codeforces Beta Round #17 D. Notepad (数论 + 广义欧拉定理降幂)

                    Codeforces Beta Round #17 题目链接:点击我打开题目链接 大概题意: 给你 \(b\),\(n\),\(c\). 让你求:\((b)^{n-1}*(b-1)\%c\). \(2 ...

                  5. Redo 非current损坏

                    Redo log 文件损坏或丢失,在启动数据库时在alert日志中会有如下错误: ORA-00313: open failed for members of log group 1 of thread ...

                  6. Altium Designer如何设置pcb尺寸

                  7. LED恒流设计

                  8. 11.5 Android显示系统框架_Vsync机制_代码分析

                    5.5 surfaceflinger对vsync的处理buffer状态图画得不错:http://ju.outofmemory.cn/entry/146313 android设备可能连有多个显示器,AP ...

                  9. SQL Server 中计算农历

                    1.建一表,放初始化资料   因为农历的日期,是由天文学家推算出来的,到现在只有到2049年的,以后的有了还可以加入!   CREATE TABLE SolarData ( yearId int no ...

                  10. 使用Profiles分析SQL语句运行时间和消耗资源

                    打开profiling,默认是没开启的. mysql> set profiling=1; 运行要分析的SQL语句 mysql> select count(1) from wechat_em ...