一、问题描述
在idea中的进行调试时,代码中有多线程,想对线程中的代码进行跟踪,代码如下:
- for (int i = 0; i < 5; i++) {
- final int index = i;
- executorService.execute(new Runnable() {
- @Override
- public void run() {
- System.out.println(index);
- }
- });
- }
在以上代码中打了三个断点,如下:
断点1和断点2能打到,断点3死活进不去。。。
二、解决方法
原来debug是分级别的:all, thread
默认是all,然后只会debug到本线程的断点,修改成thread就可以swap Thread 来debug了
注意:
千万要注意,如果想进入Thread Debug,就必须所有的断点都是Thread 类型的,否则还是进不去,如我在断点1用的是All
断点2和断点3用的是Thread类型,会发现断点3根本就进不去。。。如果进去了的话,就会出现如下提示
可以进行进程切换