microsoft / microsoft/vscode-cpptools
GDB Showing Dead Threads?
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 20.04.6 LTS
- VS Code: 1.98.2
- C/C++ extension: 1.23.6
- OS and version of remote machine (if applicable): Ubuntu 20.04.6 LTS within Docker Container
- GDB / LLDB version: GDB 9.2
Bug Summary and Steps to Reproduce
Bug Summary:
I am trying to get debugging with GDB going but am having issues. Everything launches fine and otherwise works. Breakpoints stop the thread (program hangs) but VSCode does not update to show the program is stopped, does not list variables, etc. Basically acts as if it didn't see the breakpoint get hit.
While trying to figure this out, I noticed that the one thing it does show, the threads, is incorrect. After breaking the debugger and using the debugger console, I see this:
-exec info inferiors
Num Description Executable
- 1 process 121733 /var/pyEnv/bin/python
One process, as expected. However in my side bar:
This list goes down. There are maybe 50 or 60. VSCode thinks these are running threads but they are not. When running they all say running, when stopped they all say stopped. These threads do not exist. Perhaps this is confusing VSCode as to which "thread" it should be listening to?
When I do gdb manually on the command line, it works fine. I can set a breakpoint and have it stop there, view variables, etc. Just seems like VSCode is getting its wires crossed.
Any advice or workarounds?
Steps to reproduce:
- In this environment: debug a python "script" (I am trying to debug C code called by python)
- With this config: Launch GDB with python
- Do: Launch debugger
- See error: VSCode doesn't really let me debug. Seems to think there are a lot of threads that don't exist
Debugger Configurations
{
"name": "Debug Extension",
"type": "cppdbg",
"request": "launch",
"program": "/var/pyEnv/bin/python",
"args": ["someScript.py", "-a", "-b"],
"MIMode": "gdb",
"cwd": "${workspaceFolder}",
"miDebuggerPath": "/usr/bin/gdb"
}
Debugger Logs
I am trying to get debug logs but there is so much text that it seems to hang VSCode
Other Extensions
No response
Additional Information
No response
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Riprodurre il problema con la configurazione di avvio cppdbg fornita, lo script Python, l’ambiente Docker Ubuntu e GDB 9.2. Confrontare l’output di -exec info inferiors della console del debugger con l’elenco dei thread di VS Code e utilizzare i log del debugger disponibili per determinare perché gli arresti sui breakpoint non aggiornano le variabili o lo stato di esecuzione. Il lavoro è completato quando l’elenco dei thread riflette il processo effettivo e gli arresti sui breakpoint si comportano come in GDB dalla riga di comando.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python, 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
- 30/100