microsoft / microsoft/vscode-cpptools

Debug multi-process application problem

Aperta
#4,189 9 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

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

Descrizione

I'm trying debug multi-process app. So, I do it:

  1. Start Debugging (F5)
  2. Type in Debug Console -exec attach <pid>, <pid> -- is process id of child from ps aux | grep appname
  3. However, I get error:
-exec attach 3331
Unable to perform this action because the process is running.
  1. So, I guessed that I should set debugging to pause. Pressed Pause (F6), and got following error:
-exec attach 3331
A program is being debugged already.  Kill it? (y or n) [answered Y; input not from terminal]
...
Thread 1 "kamailio" stopped.
0x00007ffff76a9912 in __libc_pause () at ../sysdeps/unix/sysv/linux/pause.c:30
ERROR: Error while trying to enter break state. Debugging will now stop. GDB exited unexpectedly.
The program '/home/marat/work_folder/kamailio-git/build/sbin/kamailio' has exited with code 42 (0x0000002a).

ERROR: GDB exited unexpectedly. Debugging will now abort.

-exec set follow-fork-mode child is not suitable I think, because application has more than 1 child processes.
And how I can fix it?

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

Inizia riproducendo il workflow F5/F6 nella Debug Console con -exec attach <pid> su un'applicazione con più processi figli. Esamina come l'estensione C/C++ di VS Code e GDB gestiscono l'attach mentre il programma avviato è in esecuzione ed entra nello stato di interruzione. Il lavoro è completato quando il debug multiprocesso non causa più l'uscita imprevista di GDB, oppure quando il workflow supportato e la limitazione sono documentati.

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

Valutazione

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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.