20110223, JDK7ea, Win7
- create maven j2se project
- navigate into App.java, put breakpoint on line with system out
- invoke debug action on file
- debugger stops at BP, invoke step over (f8)
- debugger moves to the next line (i.e.end of main method)
- invoke step over
- debugger jumps into Thread.java, into exit() method
expected behavior would be to end debugging after first step over from line with system out.
The same behavior is for ANT projects.
Tomasi, does it mean it's 'JDK 7 only' issue (not reproducible on JDK 6) ?
You are right, I can reproduce even with JDK6 on my Win7 machine. In such a case, i think it's a regression, and fix should make it into 7.0.
(In reply to comment #2)
> Tomasi, does it mean it's 'JDK 7 only' issue (not reproducible on JDK 6) ?
This is not a new regression. It's there since JDK sources were included for debugging by default.
Unfortunately this is a normal behavior of step over. :-( I've verified that with jdb. When I remove standard java.* and com.sun.* excludes, step over goes from main() method to Thread.java:671.
I agree that this can be confusing, but it's just the standard debugger behavior. I would have to implement some hack to "fix" this...
I've submitted http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7023375 for this, since IMHO step into should go into Thread.exit(), but not step over.
Until JDK bug is resolved, I've workarounded the issue by changeset: 189815:c67c32f6a2aa
Integrated into 'main-golden', will be available in build *201103020001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Log: #195944 Do not step into Thread.exit() method when stepping over from main() method.