IntelliJ有时不尊重断点

时间:2012-08-07 16:59:51

标签: intellij-idea breakpoints

我有以下代码:

/*01*/ final BlockingQueue<CsvFileRow> allRows = new LinkedBlockingQueue<CsvFileRow>();
/*02*/ ExecutorService exec = Executors.newFixedThreadPool(3);
/*03*/ Callable<Void> producer = new Callable<Void>() {
/*04*/   @Override
/*05*/   public Void call() throws Exception {
/*06*/     System.out.println("Before producer");
/*07*/     produceDataRows(allRows);
/*08*/     System.out.println(" After producer");
/*09*/     return null;
/*10*/   }
/*11*/ };
/*12*/ Callable<Void> consumer = new Callable<Void>() {
/*13*/   @Override
/*14*/   public Void call() throws Exception {
/*15*/     System.out.println("Before consumer");
/*16*/     consumeDataRows(allRows);
/*17*/     System.out.println(" After consumer");
/*18*/     return null;
/*19*/   }
/*20*/ };
/*21*/ exec.submit(producer);
/*22*/ exec.submit(consumer);
/*23*/ exec.shutdown();
/*24*/ exec.awaitTermination(10, TimeUnit.DAYS);
/*25*/ assert Boolean.TRUE;

我在第7,16,21和25行有断点。运行代码在断点21,7上停止然后25 - 跳过断点16!但是,代码已经执行,请参阅输出:

Before producer
Before consumer
 After consumer
 After producer

现在,如果我删除断点7,那么调试器会在断点21,16和25上停止。

这是一个非常烦人的问题。事实上,在其他场景中我注意到IntelliJ忽略了断点,这是非常令人不安的。

我错过了什么吗?

0 个答案:

没有答案