microsoft / microsoft/vscode-cpptools

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

Aperta
#9,286 10 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

debugger
Lingua principale
TypeScript
Stelle
6.2k
Fork
1.7k
Merge medio
14h 46m
PR unite (30g)
61

Descrizione

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_

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia riproducendo il problema con i file tasks.json e launch.json forniti su macOS Sierra, utilizzando le versioni indicate dell’estensione C/C++, di LLDB e di GDB. Confronta il comportamento con la versione 1.5.1 dell’estensione e analizza l’output di C/C++ e i log del debugger; il lavoro è completato quando il debug di un singolo file C++ funziona sulla configurazione interessata con un’estensione più recente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
cpp
Ambito
devtools
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.