microsoft / microsoft/vscode-java-debug

Support method and field access breakpoints via source editor and Outline view

Open
#1,298 7 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

ai-triaged enhancement feature request ux
Dominant language
TypeScript
Stars
591
Forks
429
Avg merge
1d 9h
Merged PRs (30d)
19

Description

JDI supports Constructor, Methods entry and exit (normal return or exceptional return) and Field (access and modification) breakpoints. Support these via:

  • the source editor
  • decompiled .class source editor

However, the best place to support this is via the Outline view. This is because the Outline view shows the structure of the .class files (even if the de-compilation was not possible) as well, not only .java files. Also outline view can support direct and easy setting of these breakpoints.

I am aware of FQCN#method mechanism for adding method breakpoints buy it is not clear how to set this for overloaded methods.

Also CTOR and method breakpoints are useful when the source line numbers do not match the actual compiled class bytecode exactly but is in the neoghborhood.

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

Review how the source editor, decompiled .class source editor, and Outline view currently expose Java elements and breakpoints. Define support for JDI constructor, method entry/exit, and field access/modification breakpoints, including overloaded methods, with the Outline view covering classes whose decompilation fails; verify the behavior in each requested view.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, typescript
Domain
devtools
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.