Кнопка отладки в нижней панели инструментов приводит к «запуску: программа '[имя_программы]' не завершается». с CMake Tools - PullRequest
0 голосов
/ 18 апреля 2020

Поскольку расширение CMake Tools (1.3.1) поддерживается непосредственно Microsoft, вспомогательное расширение, которое создало мост между ms-vscode.cpptools и этим инструментом, больше не совместимо, и с этого момента launch.json не создается автоматически больше.

Если я вручную создаю launch.json следующим образом:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "test",
            "type": "cppdbg",
            "request": "launch",
            "program": "${command:cmake.buildDirectory}/test",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

и определяю cmake.buildDirector в settings.json

"cmake.buildDirectory": "${workspaceFolder}/build/${command:cmake.buildKit}/${command:cmake.buildType}",

, строительные работы хорошо, и я могу запустить приложение с правильным набором и типом сборки на боковой панели Run, нажав на символ запуска.

Но если я нажму кнопку «Отладка» на нижней панели инструментов В окне VSCode я получаю launch: program '[test]' does not exits с опцией «Отмена» или «Открыть запуск». json »

Кто-нибудь знает, что может вызвать эту проблему или как ее можно отладить?

1 Ответ

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

Я выяснил, в чем проблема.

Кнопка Debug использует cmake.debugConfig, и там для program значение кажется ${command:cmake.launchTargetPath}.

Для моего setup ${command:cmake.launchTargetPath} ссылается только на имя приложения.

Если изменить settings.json на следующее:

    "cmake.debugConfig": {
            "program": "${command:cmake.buildDirectory}/${command:cmake.launchTargetPath}",
    },

, тогда кнопка отладки снова заработает.

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