microsoft / microsoft/vscode-cpptools
macOS Sierra cannot debug c++ above vscode-cpptools 1.5.1 version
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: macOS Sierra(10.12.6)
- VS Code: 1.67.0
- C/C++ extension: 1.6.0~1.10.0
- Xcode version: 9.2 (9C40b)
- GDB / LLDB version:
/usr/local/bin/gdb version11.2
/usr/bin/lldb --versionlldb-900.0.64
Bug Summary and Steps to Reproduce
Bug Summary:
I use C/C++ extension 1.10.0 debug single C++ file with launch.json:
"version": "0.2.0",
"configurations": [
{
"name": "(lldb) 启动",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/main",
"args": [],
"stopAtEntry": true,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "lldb",
"miDebuggerPath": "/Users/witton/.vscode/extensions/ms-vscode.cpptools-1.10.0-darwin-x64/debugAdapters/lldb/bin/lldb-mi",
"logging": {
"trace": true,
"engineLogging": true,
"traceResponse": true,
}
}
]
}
but it does not work.
I set
"MIMode": "gdb",
"miDebuggerPath": "/usr/local/bin/gdb"
still not work, the gdb installed by brew, version 11.2.
I reverse the cpptools version to 1.51 work well.
another related discussion
so, I think against lldb there is a problem with the debugAdapters version released for MacOS High Sierra and lower.
Debugger Configurations
tasks.json
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: clang++ 生成活动文件",
"command": "/usr/bin/clang++",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
launch.json
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(lldb) 启动",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/main",
"args": [],
"stopAtEntry": true,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "lldb",
"miDebuggerPath": "/Users/witton/.vscode/extensions/ms-vscode.cpptools-1.10.0-darwin-x64/debugAdapters/lldb/bin/lldb-mi",
"logging": {
"trace": true,
"engineLogging": true,
"traceResponse": true,
}
}
]
}
### Debugger Logs
```shell
`Debug Console` output nothing.
`Output windows` tab `C/C++` output:
启动配置:
{
"name": "(lldb) 启动",
"type": "cppdbg",
"request": "launch",
"program": "/Users/witton/demo/main",
"args": [],
"stopAtEntry": true,
"cwd": ".",
"environment": [],
"externalConsole": false,
"MIMode": "lldb",
"miDebuggerPath": "/Users/witton/.vscode/extensions/ms-vscode.cpptools-1.10.0-darwin-x64/debugAdapters/lldb/bin/lldb-mi",
"logging": {
"trace": true,
"engineLogging": true,
"traceResponse": true
},
"__configurationTarget": 5
}
### 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
Beginne damit, den Fehler mit den bereitgestellten tasks.json und launch.json unter macOS Sierra unter Verwendung der aufgeführten Versionen der C/C++-Erweiterung, von LLDB und GDB zu reproduzieren. Vergleiche das Verhalten mit der Erweiterungsversion 1.5.1 und untersuche die C/C++-Ausgabe sowie die Debugger-Protokolle; abgeschlossen ist die Aufgabe, wenn das Debuggen einzelner C++-Dateien auf dem betroffenen Setup mit einer neueren Erweiterung funktioniert.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- cpp
- Bereich
- devtools
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 25/100