无法在 Mac OS X 上的 Visual Code 中调试 C++

Posted

技术标签:

【中文标题】无法在 Mac OS X 上的 Visual Code 中调试 C++【英文标题】:Unable to debug C++ in Visual Code on Mac OS X 【发布时间】:2020-03-21 01:16:33 【问题描述】:

我的环境:

$ clang++ --version
Apple LLVM version 10.0.1 (clang-1001.0.46.4)
Target: x86_64-apple-darwin18.7.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

Visual Studio 信息:

Version: 1.43.1
Commit: fe22a9645b44368865c0ba92e2fb881ff1afce94
Date: 2020-03-18T07:01:41.240Z
Electron: 7.1.11
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Darwin x64 18.7.0

launch.json:


    "version": "0.2.0",
    "configurations": [
        
            "name": "MyProject",
            "type": "cppdbg",
            "request": "launch",
            "program": "$workspaceFolder/diffusion/run",
            "args": [],
            "stopAtEntry": true,
            "cwd": "$workspaceFolder",
            "environment": [],
            "externalConsole": false,
            "setupCommands": [
                
                    "text": "-enable-pretty-printing"
                
            ]
        
    ]

我能够很好地运行/编译 C++ 文件。我什至可以像这样运行 GDB:

$ sudo gdb diffusion/run
GNU gdb (GDB) 8.3.1
Reading symbols from diffusion/run...
Reading symbols from /Users/me/project/diffusion/run.dSYM/Contents/Resources/DWARF/run...
(gdb) break color
Breakpoint 1 at 0x1000024d6: file diffusion/render.cpp, line 21.
(gdb) condition 1 depth==1

gdb 需要 sudo,否则 Mac OSX 会让您成为 do some scary code-signing stuff,但其他方面工作正常。

问题是,当我启动(点击F5)时,我看到以下内容:

Unable to start debugging. GDB exited unexpectedly with exit code 134 (0x86).

调试失败。如何正确设置它以在 VSCode 中调试 C++ 代码?

【问题讨论】:

请看这个 GitHub issue。看起来它已经修复但等待发布。 我看不到您在 vscode 配置中使用 sudo 运行 gdb?请参阅***.com/questions/40033311/… 了解一些选项 【参考方案1】:

您是否曾尝试禁用 csrutil? AFAIK,gdb 尝试编写一些临时的东西,就像它在 POSIX 之类的操作系统中运行一样,但是,默认情况下,macOS 限制根文件夹由应用程序编写,因此它可能无法写入。我有一个类似的问题,我禁用了 csrutil,它已经消失了。你也可以试试。

祝你好运。

【讨论】:

以上是关于无法在 Mac OS X 上的 Visual Code 中调试 C++的主要内容,如果未能解决你的问题,请参考以下文章

在Mac OS X 10.6上的Python中,无法在Matplotlib中将字体更改为Helvetica

无法连接到 Mac OS X 上的 Docker 守护程序

Mac OS X 上的 OpenGL 纹理损坏

如何在 Mac OS X 上的 QMenubar 中隐藏服务项目?

Mac OS X Mojave 上的 XAMPP 错误

KeychainStore 不向 Mac OS X 上的 Java 提供证书