I have a simple Java test case in VS Code that runs fine, but when I try to step through it in debug it shows the error "Failed to launch debuggee VM. Reason: VM exited with status1"?
I have these extensions installed
- Debugger for Java
- Extension Pack for Java Language Support for Java(TM) by Red Hat
- Maven for Java
- Project Manager for Java
- Test Runner for Java
- Remote - SSH
- Remote - SSH: Editing Configuration
- Files Remote Explorer
import org.junit.Assert;
import org.junit.Test;
public class ProgNodeTest {
@Test
public void progNodeShouldBeInitialized() {
ProgNode pn = new ProgNode();
}
}
The TEST RESULTS window shows
The test run did not record any output.
The DEBUG CONSOLE window shows
ERROR: JDWP unable to get necessary JVMTI capabilities.
I found a VS Code log file that might give a hint to the issue.
C:\Users<user>\AppData\Roaming\Code\logs\20230417T084536\window1\exthost\output_logging_20230417T084539
[Error - 8:49:00 AM] Apr 17, 2023, 8:49:00 AM [error response][launch]: Failed to launch debuggee VM. Reason: VM exited with status 1
Failed to launch debuggee VM. Reason: VM exited with status 1
com.microsoft.java.debug.core.DebugException: Failed to launch debuggee VM. Reason: VM exited with status 1
at com.microsoft.java.debug.core.adapter.handler.LaunchRequestHandler.launch(LaunchRequestHandler.java:326)
at com.microsoft.java.debug.core.adapter.handler.LaunchRequestHandler.handleLaunchCommand(LaunchRequestHandler.java:193)
at com.microsoft.java.debug.core.adapter.handler.LaunchRequestHandler.handle(LaunchRequestHandler.java:95)
at com.microsoft.java.debug.core.adapter.DebugAdapter.lambda$dispatchRequest$0(DebugAdapter.java:93)
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:92)
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)
And the 3-Language Support for Java (Syntax Server).log file shows what might be the cause of the error. This message is not on its project's build path sounds important.
[Error - 8:45:49 AM] Apr 17, 2023, 8:45:49 AM Problem with folding range for /dtxsql-java_92d3a23d/_/traceprofiler/src/test/java/com/xx/xx/traceprofiler/ProgNodeTest.java
_/traceprofiler/src/test/java/com/xx/xx/traceprofiler [in dtxsql-java_92d3a23d] is not on its project's build path
Java Model Exception: Error in Java Model (code 1006): _/traceprofiler/src/test/java/com/xx/xx/traceprofiler [in dtxsql-java_92d3a23d] is not on its project's build path
at org.eclipse.jdt.internal.core.JavaElement.newJavaModelException(JavaElement.java:584)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:254)
at org.eclipse.jdt.internal.core.Openable.openAncestors(Openable.java:528)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:248)
at org.eclipse.jdt.internal.core.Openable.openAncestors(Openable.java:528)
at org.eclipse.jdt.internal.core.CompilationUnit.openAncestors(CompilationUnit.java:1246)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:248)
at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:597)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:328)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:314)
at org.eclipse.jdt.internal.core.CompilationUnit.getSourceRange(CompilationUnit.java:961)
at org.eclipse.jdt.ls.core.internal.handlers.FoldingRangeHandler.computeFoldingRanges(FoldingRangeHandler.java:79)
at org.eclipse.jdt.ls.core.internal.handlers.FoldingRangeHandler.foldingRange(FoldingRangeHandler.java:70)
at org.eclipse.jdt.ls.core.internal.syntaxserver.SyntaxLanguageServer.lambda$8(SyntaxLanguageServer.java:374)
at org.eclipse.jdt.ls.core.internal.BaseJDTLanguageServer.lambda$0(BaseJDTLanguageServer.java:87)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture$Completion.exec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)
Contents of launch.json file
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Launch TraceProfiler",
"request": "launch",
"mainClass": "com.xx.xx.traceprofiler.TraceProfiler",
"args": [ "trace.qoe.profiler.log" ],
"projectName": "traceprofiler",
"cwd": "${workspaceFolder}${pathSeparator}traceprofiler"
}
]
}
Thanks