microsoft / microsoft/vscode-cpptools

gdb debug with sudo privilege can't pause or set new breakpoint

Aperta
#9,659 6 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

debugger more info needed
Lingua principale
TypeScript
Stelle
6.2k
Fork
1.7k
Merge medio
14h 46m
PR unite (30g)
61

Descrizione

Issue Type: Bug

User logged in has sudo privilege, and been setted NOPASSWD in /etc/sudoers.
The snippet of launch.json is:

      "name": "gdb launch",
      "type": "cppdbg",
      "request": "launch",
      "program": "${workspaceFolder}/lib/app",
      "args": [],
      "stopAtEntry": true,
      "cwd": "${workspaceFolder}/lib",
      "environment": [],
      "externalConsole": false,
      "miDebuggerPath": "${workspaceFolder}/.vscode/gdb.sh",
      "MIMode": "gdb",

Where gdb.sh is :

    #!/bin/bash
    sudo gdb "$@"

When debugging through gdb in remote ssh mode, vscode can't pause or set new breakpoint.
But there is no problem while loginning as root.

Environment:
Linux username-VirtualBox 5.4.0-110-generic #124~18.04.1-Ubuntu SMP Fri Apr 22 12:01:21 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
GNU gdb (Ubuntu 8.1.1-0ubuntu1) 8.1.1
VSCode and all extensions are the up to date till this issue.

Extension version: 1.11.4
VS Code version: Code 1.69.2 (3b889b090b5ad5793f524b5d1d39fda662b96a2a, 2022-07-18T16:12:52.460Z)
OS version: Windows_NT x64 10.0.19042
Restricted Mode: No
Remote OS version: Linux x64 5.4.0-110-generic

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Riproduci il problema con il launch.json e .vscode/gdb.sh forniti tramite Remote SSH, quindi confronta il comportamento con un accesso come root. Inizia tracciando il modo in cui l’estensione comunica con il processo GDB avviato tramite sudo, concentrandoti sui comandi di pausa e breakpoint. Il lavoro è completo quando la causa è stata identificata e gli utenti non-root con la configurazione sudo indicata possono mettere in pausa e impostare breakpoint, oppure quando la limitazione è documentata.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
vscode
Ambito
devtools
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.