IDEA 多线程Debug

一、问题描述


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

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

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




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


二、解决方法


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




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


注意:


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



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




可以进行进程切换



原文地址:https://www.cnblogs.com/jpfss/p/9990007.html