microsoft / microsoft/vscode-cpptools

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

Offen
#9,286 10 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

debugger
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 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_

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Ö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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.