Не удается отладить C ++ в визуальном студийном коде на Ma c. Launch. json не выполняет программу в терминале - PullRequest
1 голос
/ 19 марта 2020

Я новичок в Visual Studio Code. Я пытаюсь отладить простой код C ++. Я отредактировал свой launch.json, чтобы иметь возможность отлаживать приложение следующим образом:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(lldb) Launch", 
            "type": "cppdbg",  
            "request": "launch",      
            "program": "${workspaceFolder}/Calculator",   
            "args": [],   
            "stopAtEntry": false,  
            "cwd": "${workspaceFolder}",  
            "environment": [],  
            "externalConsole": true,  
            "MIMode": "lldb"            
        }        
    ]
}

Когда я начинаю отладку, терминал открывается в правильной папке, но программа не выполняется. Поэтому визуальный код не останавливается в точках останова, которые я хочу проверить в программе.

В моем задании. json У меня есть следующий код:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Echo vars",
            "command": "echo",
            "args": [
                "${env:USERNAME}",
                "workspaceFolder = ${workspaceFolder}"
            ],
            "type": "shell",
            "problemMatcher": []
        },
        {
            "label": "build",
            "type": "shell",
            "command": "g++ -g Calculator.cpp -o Calculator",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": "$gcc"
        }
    ]
}

Может ли кто-нибудь помочь мне на это?

Заранее спасибо

1 Ответ

0 голосов
/ 20 марта 2020

Как указано в комментариях: если ваш калькулятор. cpp не скомпилирован с символами отладки ie. g ++ вызывается без флага -g, вы не сможете его отладить.

Следовательно, добавьте к вашему запуску. json запись prelaunchTask, которая будет гарантировать, что ваша задача сборки, которая компилирует ваш исходный код с символами отладки, всегда выполняется перед запуском отладчика.

"environment": [],  
"externalConsole": true,  
"MIMode": "lldb",      
"preLaunchTask": "build"

отредактируйте ваш запуск. json чтобы добавить вывод журнала отладчика в ваш проект:

"logging": { "engineLogging": true, "trace": false, "traceResponse": false } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...