microsoft / microsoft/vscode-cpptools

Ability to detach instead of stop debugging

Aperta
#14,124 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

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

Descrizione

Environment
  • OS and version: Ubuntu Linux 24.04LTS

  • VS Code: Version: 1.96.3
    Commit: 91fbdddc47bc9c09064bf7acf133d22631cbf083
    Date: 2025-01-09T18:14:09.060Z
    Electron: 32.2.6
    ElectronBuildId: 10629634
    Chromium: 128.0.6613.186
    Node.js: 20.18.1
    V8: 12.8.374.38-electron.0
    OS: Linux x64 6.8.0-90-generic

  • C/C++ extension: 1.29.3

  • OS and version of remote machine (if applicable): Debian Linux

  • GDB / LLDB version: GNU GDB 16.3

Bug Summary and Steps to Reproduce

Bug Summary:

I can't attach my cross-debugger to a remote target without being killed at the end.

I want to debug my application running on a remote target.

For this, on the target I'm running gdbserver :1234 --attach $(pidof myapp).

I have created a launch.json script for vscode:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug",
            "type": "cppdbg",
            "request": "launch",
            "preLaunchTask": "Debug: Start gdbserver",
            "program": "/home/developer/src/build/Debug/myapp_unstripped",
            "cwd": "/home/developer/src",
            "MIMode": "gdb",
            "miDebuggerPath": "aarch64-linux-gnu-gdb",
            "miDebuggerServerAddress": "IP:1234",
            "stopAtEntry": false,
            "logging": {"engineLogging": false},
        }
    ]
}

I want VS Code to leave my app alone when I finish debugging, i.e. do not kill it.

As far as I know I can use attach instead of launch, but it always drops me a process picker on my local machine.

How can I finish debugging without killing the process?

I'm on Linux, target is also Linux, but different architecture.

Debugger Configurations
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug",
            "type": "cppdbg",
            "request": "launch",
            "preLaunchTask": "Debug: Start gdbserver",
            "program": "/home/developer/src/build/Debug/myapp_unstripped",
            "cwd": "/home/developer/src",
            "MIMode": "gdb",
            "miDebuggerPath": "aarch64-linux-gnu-gdb",
            "miDebuggerServerAddress": "IP:1234",
            "stopAtEntry": false,
            "logging": {"engineLogging": false},
        }
    ]
}
Debugger Logs
No need. I'm forced to use "launch" which only has "Stop debugging" which will stop my app. I wish to detach from debugger.
Other Extensions

No response

Additional Information

No response

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

Non vengono indicati file del repository o test. Inizia dalla configurazione di avvio cppdbg in launch.json e dal comportamento di Stop debugging descritto nell’issue, quindi determina come una sessione remota di gdbserver possa scollegarsi senza arrestare il processo di destinazione. Il lavoro è completato quando, al termine della sessione, l’applicazione remota continua a essere eseguita.

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

Valutazione

Stack tecnologico
cpp, linux, typescript, vscode
Ambito
devtools
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.