microsoft / microsoft/vscode-java-debug
Can not step into method
オープン
まだ誰も着手していません。
ai-triaged
bug
- 主要言語
- TypeScript
- スター
- 591
- フォーク
- 429
- 平均マージ
- 1日 9時間
- マージ済み PR(30日)
- 19
説明
This was run on Linux.
VsCode Version: 1.95.2
language server version: 1.36.0
vscode-java-debug version: 0.58.1
- Clone https://github.com/eclipse-jdtls/eclipse.jdt.ls,
- start into debug mode
- Set debug at 164
https://github.com/eclipse-jdtls/eclipse.jdt.ls/blob/f155e1fc90618b558899c3722606feccfc89e210/org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/managers/ProjectsManager.java#L155-L179 - And try to step into that method with "SHIFT" + step into shortcut and select that method
I have only the jdtls logs.
JDTLS Logs
[Error - 7:03:10 PM] Nov 12, 2024, 7:03:10 PM (java.util.stream.ReferencePipeline<P_IN,P_OUT>, java.util.stream.AbstractPipeline<?,P_OUT,?>, java.util.stream.StreamShape, int) {key=Ljava/util/stream/ReferencePipeline$21225;.(Ljava/util/stream/ReferencePipeline;Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;ILjava/util/function/Consumer;)V} [in <anonymous> [in ReferencePipeline$15.class [in java.util.stream [in <module:java.base>]]]] does not exist
(java.util.stream.ReferencePipeline<P_IN,P_OUT>, java.util.stream.AbstractPipeline<?,P_OUT,?>, java.util.stream.StreamShape, int) {key=Ljava/util/stream/ReferencePipeline$21225;.(Ljava/util/stream/ReferencePipeline;Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;ILjava/util/function/Consumer;)V} [in <anonymous> [in ReferencePipeline$15.class [in java.util.stream [in <module:java.base>]]]] does not exist
Java Model Exception: Error in Java Model (code 969): (java.util.stream.ReferencePipeline<P_IN,P_OUT>, java.util.stream.AbstractPipeline<?,P_OUT,?>, java.util.stream.StreamShape, int) {key=Ljava/util/stream/ReferencePipeline$21225;.(Ljava/util/stream/ReferencePipeline;Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;ILjava/util/function/Consumer;)V} [in <anonymous> [in ReferencePipeline$15.class [in java.util.stream [in <module:java.base>]]]] does not exist
at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException(JavaElement.java:546)
at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:589)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:292)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:278)
at org.eclipse.jdt.internal.core.BinaryMethod.getParameterNames(BinaryMethod.java:287)
at org.eclipse.jdt.ls.core.internal.handlers.InlayHintVisitor.getParameterNames(InlayHintVisitor.java:215)
at org.eclipse.jdt.ls.core.internal.handlers.InlayHintVisitor.resolveInlayHints(InlayHintVisitor.java:165)
at org.eclipse.jdt.ls.core.internal.handlers.InlayHintVisitor.visit(InlayHintVisitor.java:78)
at org.eclipse.jdt.core.dom.ClassInstanceCreation.accept0(ClassInstanceCreation.java:293)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:3312)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:3360)
at org.eclipse.jdt.core.dom.ReturnStatement.accept0(ReturnStatement.java:128)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:3312)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:3383)
at org.eclipse.jdt.core.dom.Block.accept0(Block.java:128)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:3312)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:3360)
at org.eclipse.jdt.core.dom.MethodDeclaration.accept0(MethodDeclaration.java:676)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:3312)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:3383)
at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:497)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:3312)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:3383)
at org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:257)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:3312)
at org.eclipse.jdt.ls.core.internal.handlers.InlayHintsHandler.inlayHint(InlayHintsHandler.java:81)
at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$56(JDTLanguageServer.java:1189)
at org.eclipse.jdt.ls.core.internal.BaseJDTLanguageServer.lambda$0(BaseJDTLanguageServer.java:87)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:690)
at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:527)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1458)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2034)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:189)
Nov 12, 2024 7:04:27 PM com.microsoft.java.debug.core.UsageDataSession recordResponse
WARNING: abnormal response
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
記載された VS Code、language server、vscode-java-debug のバージョンを使用して Linux のケースを再現し、ProjectsManager.java の 155-179 行目から開始します。記録された InlayHintVisitor および Java Model Exception のスタックを読み、その後、失敗した検索が選択したメソッドへのステップインにどのような影響を与えるかを追跡します。選択したメソッドを、報告された Java モデルエラーなしで選択してステップインできれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java, vscode
- 領域
- devtools
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 32/100