Я уже некоторое время использую код Visual Studio для отладки C ++ в Linux.
В примере проекта у меня есть следующее launch.json
:
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/main",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
Я успешно скомпилировал и запустил main.c, поэтому отладка должна работать нормально.
Когда я запускаю отладчик, под стрелкой появляется синяя полоса загрузки, и ничего не происходит. На моем ноутбуке с точно такой же конфигурацией панель загрузки исчезнет через пару секунд, и отладчик запустится.
Глядя на ps aux
Я вижу два новых процесса:
mono.linux-x86_640
с помощью команды /home/guyyst/.vscode/extensions/ms-vscode.cpptools-0.20.1/debugAdapters/mono.linux-x86_64 --config /home/guyyst/.vscode/extensions/ms-vscode.cpptools-0.20.1/debugAdapters/framework/config.linux /home/guyyst/.vscode/extensions/ms-vscode.cpptools-0.20.1/debugAdapters/bin/OpenDebugAD7.exe
bash
с помощью команды bash /home/guyyst/.vscode/extensions/ms-vscode.cpptools-0.20.1/debugAdapters/OpenDebugAD7
Отладка на моем ноутбуке порождает те же процессы, но они исчезают, когда фактически начинается отладка. Два процесса на моем ПК остаются неизменными даже после закрытия VSCode. Когда я впервые заметил это, у меня было более 15 копий, запущенных с предыдущих попыток.
Вчера все работало нормально, и я не помню, чтобы с тех пор я вносил изменения в свою конфигурацию.
Я несколько раз пытался переустановить VSCode через AUR-версию visual-studio-code-bin
или пакет с открытым исходным кодом code
.
Отладка некоторого кода Python работала просто отлично.