microsoft / microsoft/vscode-cpptools

macOS Sierra cannot debug c++ above vscode-cpptools 1.5.1 version

Abierto
#9,286 10 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

debugger
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 version 11.2
    /usr/bin/lldb --version lldb-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

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.