microsoft / microsoft/vscode-cpptools

Apply pipeTransport.quoteArgs to pickRemoteProcess command

Offen
#6,702 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug debugger
Vorherrschende Sprache
TypeScript
Sterne
6.2k
Forks
1.7k
Ø Merge
14 Std. 46 Min.
Gemergte PRs (30 T.)
61

Beschreibung

Type: Debugger

Describe the bug

  • OS and Version: Arch Linux
  • VS Code Version: 1.52.1
  • C/C++ Extension Version: 1.1.3
  • Other extensions you installed (and if the issue persists after disabling them): Not relevant

When running the pickRemoteProcess command via pipeTransport, quoteArgs is not applied to pipeArgs and the args are quoted regardless of the value of quoteArgs.

To Reproduce

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "cppdbg",
            "program": "/usr/lib/systemd/systemd-resolved",
            "processId": "${command:pickRemoteProcess}",
            "request": "attach",
            "name": "Attach",
            "pipeTransport": {
                "pipeCwd": "${workspaceFolder}",
                "pipeProgram": "mkosi",
                "pipeArgs": [
                    "ssh"
                ],
                "debuggerPath": "/usr/bin/gdb",
                "quoteArgs": false
            }
        }
    ]
}

Produces in the error log:

Command failed: "mkosi" "ssh" 'sh -c "uname && if [ $(uname) = \"Linux\" ] ; then ps axww -o pid=,comm=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,args= ; elif [ $(uname) = \"Darwin\" ] ; then ps axww -o pid=,comm=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,args= -c; fi"'

We can see "ssh" is quoted even though quoteArgs is set to false.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, die Implementierung des Befehls pickRemoteProcess und die Konstruktion seines pipeTransport-Arguments zu finden. Reproduziere die Konfiguration aus dem Issue mit quoteArgs auf false gesetzt und überprüfe anschließend, dass pipeArgs im generierten Befehl nicht in Anführungszeichen gesetzt werden, während die Einstellung true die Anführungszeichen beibehält.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript, vscode
Bereich
tooling
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.