Невозможно отладить C ++ в Visual Code на Ma c OS X - PullRequest
0 голосов
/ 21 марта 2020

Моя среда:

$ 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, так как в противном случае Ma c OSX заставляет вас делать некоторые страшные вещи для подписи кода , но в остальном работает нормально.

Проблема в том, что при запуске (нажатие F5) я вижу следующее:

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

И отладка не выполняется. Как правильно настроить это для отладки кода C ++ в VSCode?

1 Ответ

0 голосов
/ 07 апреля 2020

Вы когда-нибудь пытались отключить csrutil? На самом деле, gdb пытается записать некоторые временные объекты, например, как если бы он работал в POSIX, например, как os, но по умолчанию macOS ограничил папки root для записи приложениями, поэтому он не может этого сделать. У меня была похожая проблема, я отключил csrutil, и она ушла. Вы можете попробовать то же самое.

Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...