microsoft / microsoft/vscode-cpptools
macOS Sierra cannot debug c++ above vscode-cpptools 1.5.1 version
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- TypeScript
- Estrellas
- 6.2k
- Forks
- 1.7k
- Merge medio
- 14 h 46 min
- PR fusionados (30 d)
- 61
Descripción
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_
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza reproduciendo el fallo con los archivos tasks.json y launch.json proporcionados en macOS Sierra, utilizando las versiones indicadas de la extensión de C/C++, LLDB y GDB. Compara el comportamiento con la versión 1.5.1 de la extensión e inspecciona la salida de C/C++ y los registros del depurador; se considera terminado cuando la depuración de archivos C++ individuales funciona en la configuración afectada con una extensión más reciente.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- cpp
- Área
- devtools
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 25/100