microsoft / microsoft/vscode-cpptools
High CPU and memory with GDB
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 6.2k
- Forks
- 1.7k
- Ø Merge
- 14 Std. 46 Min.
- Gemergte PRs (30 T.)
- 61
Beschreibung
Environment
- OS and version: Windows 11
- VS Code: 1.78.2
- C/C++ extension: 1.16.0 & 1.15.4
- OS and version of remote machine CENTOS 7.9.2009
- GDB / LLDB version: GNU gdb (GDB) Red Hat Enterprise Linux 10.2-6.el7
Bug Summary and Steps to Reproduce
Bug Summary:
Debug my executable, before it even breaks in main or loads any symbols it spins for minutes at 100% CPU while allocating a ton of memory. Stepping through is very slow also. Using gdb from the command line is very fast, however a suboptimal experience. I have tried it with the system gdb also. I see the same behavior
Debugger Configurations
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/Debug/bin/Debug/dds_worker",
"args": ["--no-heartbeats"],
"stopAtEntry": true,
"cwd": "${workspaceFolder}/DDS/dds",
"environment": [],
"miDebuggerPath": "/opt/rh/devtoolset-11/root/usr/bin/gdb",
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "Enable break on all exceptions",
"text": "catch throw",
"ignoreFailures": true
}
]
}
]
}
Debugger Logs
There's a lot of lines, but most look like
1: (111798) <-1017-symbol-list-lines /home/dev/scratch/connector.cpp
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (111802) 1013: elapsed time 103627\n"},"seq":226}
1: (111802) 1013: elapsed time 103627
Other Extensions
No response
Additional Information
No response
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginnen Sie mit der launch.json-Konfiguration und den Debugger-Protokollen, die wiederholte symbol-list-lines-Anfragen zeigen; reproduzieren Sie den Start und vergleichen Sie das Verhalten von VS Code mit dem von GDB über die Kommandozeile. Verfolgen Sie den durch diese Anfragen betroffenen Pfad zum Laden von Symbolen und zum schrittweisen Ausführen. Erledigt ist die Aufgabe, wenn das Debugging vor main nicht mehr minutenlang 100 % CPU-Auslastung verursacht oder übermäßig viel Speicher zuweist und das schrittweise Ausführen reaktionsschnell ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- cpp, typescript
- Bereich
- devtools, performance
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100