Groovy breakpoint on inner-class ignored on subsequent passes

I have some GUI logic written in groovy that has an embedded SwingWorker, used to retrieve data from the server in the background while allowing the UI to remain responsive.  If I launch my application in debug mode and place a breakpoint within the nested SwingWorker code, the debugger will stop the first pass through, but on all subsequent passes it will no longer pause execution at that breakpoint. Breakpoints set outside the nested SwingWorker will continue to correctly pause execution on all passes, but any stepping mechanism will skip over the inner class.

I did a quick search in the related YouTRACK but didn't find anything that seemed to match.  Any ideas on what to do in order to have execution reliably pause at breakpoints in inner classes?

psuedo-example:

class DisplayPanel {
  def DisplayPanel() {
    getDataFromServer()  // a breakpoint here, would work on every code pass
  }

  private void getDataFromServer() {
    SwingWorker worker = new SwingWorker() {
      protected Object doInBackground() {
        ...
      }

      protected void done() {
        -- breakpoint here, stops 1st time through, but never again until code execution is stopped and debugged fresh --
        ...
      }
    }
    worker.execute()
  }
}

2 comments
Comment actions Permalink

This issue has been fixed in IDEA 10 EAPs

0
Comment actions Permalink

Thanks for the info, Peter!

0

Please sign in to leave a comment.