Setting shortenCommandLine "argfile" should not nest a user-passed argfile inside an argfile
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 42/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- java, typescript, vscode
Piste de recherche
Commencez par la configuration de lancement Java en utilisant vmArgs, shortenCommandLine et le fichier myargs créé par l’utilisateur, puis reproduisez l’échec avec les étapes Hello World fournies. Suivez la manière dont le débogueur construit l’argfile temporaire ; la tâche est terminée lorsque le programme s’exécute sans imbriquer l’argfile fourni par l’utilisateur.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
When setting shortenCommandLine to argfile (or setting to auto and then triggering the argfile behavior with a long command), VS Code will always put any vmArgs inside an argfile, even if the only VM arg is another argfile. This breaks run configurations that pass a user-generated argfile that still trigger the automatic CLI shortening behavior such as a very long classpath, since argfiles cannot be nested.
Environment
- Operating System: Linux
- JDK version: 17
- Visual Studio Code version: 1.84.0-insider (
60182c7e1a666961ded4d0319c154f52d85daf30) - Java extension version: v0.25.15
- Java Debugger extension version: v0.54.0
Steps To Reproduce
- Create a trivial Java project ex. a Hello World main method
- Create an argfile
myargs - Create
launch.jsonwith a corresponding run configuration for the main method. SetshortenCommandLinetoargfileto force the argfile behavior (should be equivalent to settingautoand then loading a very long classpath).
{
// 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": "Hello",
"request": "launch",
"mainClass": "Hello",
"vmArgs": "@myargs",
"shortenCommandLine": "argfile"
}
]
}
- Attempt to run the main method - this should fail.
Sample project: test-argfile.tar.gz
Current Result
$ /usr/bin/env /path/to/jdk @/tmp/cp_7ifzraqswz8cni6w2z8m6nw3w.argfile Hello
Error: Could not find or load main class @myargs
Caused by: java.lang.ClassNotFoundException: @myargs
/tmp/cp_7ifzraqswz8cni6w2z8m6nw3w.argfile contents:
@myargs -XX:+ShowCodeDetailsInExceptionMessages -cp "/home/justinw/.vscode-server-insiders/data/User/workspaceStorage/-2d922411/redhat.java/jdt_ws/test-argfile_31bc6c61/bin"
Expected Result
Program should execute and argfiles should not be nested
Additional Informations
- Langage dominant
- TypeScript
- Étoiles
- 591
- Forks
- 429
- Merge moyen
- 1 j 3 h
- PR mergées (30 j)
- 19
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de microsoft/vscode-java-debug
-
ai-triaged bug
microsoft/vscode-java-debug#1703 · 1 commentaire · 1 réaction · 1 personne assignée ·
-
ai-triaged enhancement
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
microsoft/vscode-java-debug#1689 · 2 commentaires ·
-
ai-triaged bug
microsoft/vscode-java-debug#1666 · 1 commentaire · 1 personne assignée ·
-
ai-triaged bug
Difficulté 3/5 1-2 jours Accessibilité débutants 48/100
microsoft/vscode-java-debug#1658 · 1 commentaire ·
-
ai-triaged enhancement
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
microsoft/vscode-java-debug#1628 · 3 commentaires ·
Toutes les issues de microsoft/vscode-java-debug
Issues similaires
-
VerificationGate: ATTRIBUTION quote guard never matches a normal quotation (\b around the quote) Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
danielmiessler/LifeOS#2234 ·
-
T: Bug
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
-
Mend: dependency security vulnerability untriaged
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100