Debugger opens *.class file despite there being an overridden *.java file in the project's src folder
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 42/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- java, typescript
- 领域
- devtools
调研方向
在 does-not-work 分支上克隆链接的 java-debug-demo 仓库,并在调试 run/src/main/java/com/project/my/run/Main.java 时,重现 other/src/main/java/tech/tablesaw/table/Relation.java 中的断点。将其与 works 分支进行比较,并检查附加的 language-support-for-java.log。完成的标准是:调试器打开来自其他模块且包含用户更改的 Relation.java,而不是依赖项的 Relation.class。
由索引模型根据 Issue 内容生成。
描述
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
- Checkout example project:
git clone -b does-not-work https://github.com/marecabo/java-debug-demo.git - 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 https://github.com/marecabo/java-debug-demo/commit/40bb99b2a213d8f93fe56e77a961562c2be7ac8f
- Debug
run/src/main/java/com/project/my/run/Main.java
Current Result
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.
Expected Result
other/src/main/java/tech/tablesaw/table/Relation.java is opened with my changes.
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.
- 主要语言
- TypeScript
- 星标
- 591
- 派生
- 429
- 平均合并
- 1 天 9 小时
- 30 天内合并 PR
- 19
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
microsoft/vscode-java-debug 的其他 Issue
-
ai-triaged enhancement
难度 3/5 1-2 天 新手友好度 55/100
microsoft/vscode-java-debug#1689 · 2 条评论 ·
-
ai-triaged bug
microsoft/vscode-java-debug#1666 · 1 条评论 · 已指派 1 人 ·
-
ai-triaged bug
难度 3/5 1-2 天 新手友好度 48/100
microsoft/vscode-java-debug#1658 · 1 条评论 ·
-
ai-triaged enhancement
难度 4/5 3-5 天 新手友好度 45/100
microsoft/vscode-java-debug#1628 · 3 条评论 ·
-
Feature support. 未关闭ai-triaged enhancement
难度 5/5 一周以上 新手友好度 25/100
microsoft/vscode-java-debug#1616 · 1 条评论 ·
查看 microsoft/vscode-java-debug 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
safetrustcr/dApp-SafeTrust#426 ·
-
area:workflow bug ready-for-agent
难度 2/5 1-3 小时 新手友好度 75/100
fil-donadoni/tolaria#4409 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
Fission-AI/OpenSpec#1960 ·
-
Add dependabot 未关闭
难度 2/5 1-3 小时 新手友好度 70/100
-
难度 2/5 1-3 小时 新手友好度 75/100
corsairdev/corsair#1764 ·