microsoft / microsoft/vscode-java-debug
Can't step over breakpoint on lambda expression/step filters ignored
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 591
- Forks
- 429
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 19
Description
If you set a breakpoint on a line of code containing a lambda expression, attempts to step over the code will result in a step into the code. If the lambda expression is a function of the standard library and your step filters are enabled, you will still have to trudge through many .class files.
Environment
- Operating System: Windows 10
- JDK version: 1.8.0_181
- Visual Studio Code version: 1.37.0-insider (system setup)
- Java extension version: 0.7.1 (assuming this refers to the Java Extension Pack)
- Java Debugger extension version: 0.20.0
Steps To Reproduce
-
Set breakpoints on lines 4 and 10 of test.java
-
Debug test.java with the provided launch.json
-
Repeatedly step-in until you have reached line 10. Observe that the debugger has not forced you to view the HashMap.class file or any of the standard libraries.
-
Attempt to step-over line 10. Observe that the debugger has stepped-in.
-
Attempt to step-over again. Observe that you are now viewing the HashMap.class file, despite the settings in launch.json, which should have prevented this.
Current Result
Stepping over a lambda expression with a breakpoint will step in, even if your step filters should prevent this.
Expected Result
Stepping over a lambda expression with a breakpoint should step over the expression. Regardless, step filters should prevent viewing of standard libraries.
Additional Informations
I already tried this on the current stable build of vscode - same problem there as well.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the issue with test.java and the provided launch.json, setting breakpoints on lines 4 and 10 and stepping over the lambda. Compare the observed entry into HashMap.class with the expected step-filter behavior; done means stepping over the lambda and avoiding standard-library classes as configured.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, typescript, vscode
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100