Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Debugger opens *.class file despite there being an overridden *.java file in the project's src folder #1467

Open
marecabo opened this issue Apr 18, 2024 · 0 comments

Comments

@marecabo
Copy link

marecabo commented Apr 18, 2024

When debugging a project where I have put copies of Java files from a dependency in my project's src folder (but in another module) to adjust its behavior, and placing break points in these overwritten Java files, the debugger always opens the *.class file of the dependency, which does not contain my changes.

Example project which works: https://github.com/marecabo/java-debug-demo/tree/works
Example project where this issue occurs: https://github.com/marecabo/java-debug-demo/tree/does-not-work

Environment
  • Operating System: RHEL 8.9
  • JDK version: openjdk 21.0.2 2024-01-16 LTS
  • Visual Studio Code version: 1.88.1
  • Java extension version: v1.29.0
  • Java Debugger extension version: v0.57.0
Steps To Reproduce
  1. Checkout example project: git clone -b does-not-work https://github.com/marecabo/java-debug-demo.git
  2. Place a breakpoint in other/src/main/java/tech/tablesaw/table/Relation.java:261.
    This file overrides a file from a dependency and changes its behavior, see marecabo/java-debug-demo@40bb99b
    image
  3. Debug run/src/main/java/com/project/my/run/Main.java
Current Result

language-support-for-java.log

Relation.class is opened which obviously does not show the changes I made in Relation.java. The execution marker (yellow highligted line) is - however - at the line number of the original breakpoint in other/src/main/java/tech/tablesaw/table/Relation.java:261, even if that line in Relation.class only contains } or is even empty.

image

Expected Result

other/src/main/java/tech/tablesaw/table/Relation.java is opened with my changes.

image

Additional Informations

So far I found out, that this issue only occurs, when the overridden Java file is not located in the same maven module, where the main class which is debugged resides. As a workaround, moving the overridden Relation.java file to the run module is enough to make it work as expected.

Thanks for your work at this extension.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant