microsoft / microsoft/vscode-java-debug
Cannot debug JDK17 itself with "Debugger for Java" v0.49.1
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- TypeScript
- Estrellas
- 591
- Forks
- 429
- Merge medio
- 1 d 9 h
- PR fusionados (30 d)
- 19
Descripción
I'm building and debugging OpenJDK 17 on Windows 11. I'd like to debug it with VSCode.
I submitted the issue #1285 before for other version of extensions, but now Java Debugger extension seems totally broken.
- I have disabled "build before launch" for both User and Workspace, but every time I run the debug configuration (see below), I see the message about "Debug 'Launch Java Program': compiling..." and then "Build failed, do you want to continue?" with a lot of compilation errors.
- It can debug source of my tests, but it cannot step in JDK classes. It seems like it cannot find neither source files, not debug info for fresh built fast-debug JDK.
- If I open one of JDK java-files in VSCode and try run the debugger (the same configuration), it shows "Debug 'Launch Java Program': compiling...", and may hang until OutOfMemory error occurs.
- I have set "java.configuration.runtimes" option to manually downloaded JDK, but, in TaskMonitor, I still see Java.exe process running from "C:\Users\username\.vscode\extensions\redhat.java-1.17.0-win32-x64\jre\17.0.6-win32-x86_64\bin". It looks like scanning my JDK source files, but cannot do this properly. It consumes a lot of memory (1GB+), and reports about OutOfMemory error in VSCode time to time.
Is it really broken now?
Is my configuration wrong maybe?
Environment
- Operating System: Windows 11
- JDK version: 17
- Visual Studio Code version: 1.77.3
- Extension Pack for Java: v0.25.10
- Debugger for Java: v0.49.1
- Language Support for Java(TM) by Red Hat: v1.17.0
My setting.json:
"java.configuration.runtimes": [
{
"default": true,
"name": "JavaSE-17",
"path": "c:\\Users\\username\\work\\jdk"
}
]
"java.debug.settings.onBuildFailureProceed": false,
"java.debug.settings.forceBuildBeforeLaunch": false
My launch.json:
{
"type": "java",
"name": "Launch Java Program",
"request": "launch",
"cwd": "${workspaceFolder}\\jdk\\myjdk\\MyJdkTest\\MyJdkTest",
"mainClass": "jdk.test.lib.myjdk.MyJdkTest",
"vmArgs": "-ea <other vm args>",
"args": "<java test args>",
"classPaths": [
"${workspaceFolder}\\classes\\jdk\\myjdk\\MyJdkTest\\MyJdkTest.d",
"${workspaceFolder}\\classes\\test\\lib"
],
"javaExec": "c:/Users/username/work/myjdk/build/windows-x86_64-server-fastdebug/jdk/bin/java.exe",
},
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza reproduciendo el comportamiento con los archivos settings.json y launch.json proporcionados, usando las versiones indicadas de OpenJDK 17, VS Code y la extensión en Windows 11. Comprueba el runtime configurado, el comportamiento de build-before-launch, la ejecución paso a paso del código fuente del JDK y el uso de memoria del proceso de Java; se considera terminado cuando el fallo esté aislado y se haya identificado una configuración de depuración funcional o un defecto específico de la extensión.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- java
- Área
- devtools
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 35/100