microsoft / microsoft/vscode-java-debug
Unable to Debug/Attch Java Maven on Vscode
还没有人认领这个 Issue。
- 主要语言
- TypeScript
- 星标
- 591
- 派生
- 429
- 平均合并
- 1 天 9 小时
- 30 天内合并 PR
- 19
描述
Unable to debug Java Maven Project.
Environment
- Operating System: Win10 Enterprise . Build No : 19045.3208 version : 22H2
- JDK version: 1.8.0_281
- Visual Studio Code version: 1.81.1 User Setup
- Java extension version: 0.25.13
- Java Debugger extension version: v0.54.0
Steps To Reproduce
- Vs code setting.json
{
"update.mode": "none",
"workbench.startupEditor": "none",
"telemetry.telemetryLevel": "off",
"java.autobuild.enabled": false,
"java.configuration.runtimes": [
{
"name": "JavaSE-1.8",
"default": true,
"path": "C:\\Program Files\\Java\\jdk1.8.0_281"
}
]
}
- java debug log file
!ENTRY java-debug 1 0 2023-08-29 22:05:54.430
!MESSAGE Trying to attach to remote debuggee VM localhost:61739 .!ENTRY java-debug 4 0 2023-08-29 22:05:54.468
!MESSAGE [error response][attach]: Failed to attach to remote debuggee VM. Reason: java.net.ConnectException: Connection refused: connect
!STACK 0
com.microsoft.java.debug.core.DebugException: Failed to attach to remote debuggee VM. Reason: java.net.ConnectException: Connection refused: connect
at com.microsoft.java.debug.core.adapter.AdapterUtils.createCompletionException(AdapterUtils.java:266)
at com.microsoft.java.debug.core.adapter.handler.AttachRequestHandler.handle(AttachRequestHandler.java:81)
at com.microsoft.java.debug.core.adapter.DebugAdapter.lambda$dispatchRequest$0(DebugAdapter.java:94)
at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture.thenCompose(Unknown Source)
at com.microsoft.java.debug.core.adapter.DebugAdapter.dispatchRequest(DebugAdapter.java:93)
at com.microsoft.java.debug.core.adapter.ProtocolServer.dispatchRequest(ProtocolServer.java:118)
at com.microsoft.java.debug.core.protocol.AbstractProtocolServer.lambda$new$0(AbstractProtocolServer.java:81)
at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:63)
at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(ObservableObserveOn.java:201)
at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(ObservableObserveOn.java:255)
at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.net.ConnectException: Connection refused: connect
at java.base/sun.nio.ch.Net.connect0(Native Method)
at java.base/sun.nio.ch.Net.connect(Unknown Source)
at java.base/sun.nio.ch.Net.connect(Unknown Source)
at java.base/sun.nio.ch.NioSocketImpl.connect(Unknown Source)
at java.base/java.net.SocksSocketImpl.connect(Unknown Source)
at java.base/java.net.Socket.connect(Unknown Source)
at java.base/java.net.Socket.connect(Unknown Source)
at java.base/java.net.Socket.(Unknown Source)
at java.base/java.net.Socket.(Unknown Source)
at org.eclipse.jdi.internal.connect.SocketTransportService$2.run(SocketTransportService.java:147)
... 1 more
Launch setting file
{
"type": "java",
"name": "Attach Service",
"request": "attach",
"processId" : "${command:PickJavaProcess}",
"timeout": 300000
}
Current Result
When the type is launch in Launch setting , the debugger starts but after a certain time period the debugger stops , but application is in running mode in the backend . on Debugger console I can see "ERROR: transport error 202: recv error: Connection reset by peer".
So I tried to do attach java process , Vscode is not able to attach , it shows the java process on popup , when I click on it , it throws error dialog saying "Failed to attach remote debuggee VM. Reason java.net.connectException:connection refused connect"
Expected Result
debugger should work
Additional Informations
Back 5/6months ago , I was able to do the debugging correct with the same project on vscode , then I recently updated it to debug the same project and its throwing exception now.
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先使用所示的 setting.json 和 Java 启动配置复现该故障,然后检查 AttachRequestHandler.java 附近的 java-debug 日志以及 connection-refused 错误。比较所报告的 Windows 和 JDK 版本下的启动与 attach 行为;完成的标准是调试器保持连接并能够 attach 到选定的 Java 进程。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- java, vscode
- 领域
- developer-experience, devtools
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 25/100