microsoft / microsoft/vscode-java-debug

Can't step over breakpoint on lambda expression/step filters ignored

Open
#612 0 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

ai-triaged bug step
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
  1. Extract this to a folder and open that folder in vscode.

  2. Set breakpoints on lines 4 and 10 of test.java

  3. Debug test.java with the provided launch.json

  4. 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.

  5. Attempt to step-over line 10. Observe that the debugger has stepped-in.

  6. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.