Давайте настроим наш любимый редактор - код Visual Studio, чтобы иметь поддержку отладки для проектов или файлов c и c ++. Если у вас нет редактора vscode, я предлагаю скачать его здесь и поиграть. Это хорошее сообщество и усилия Microsoft по созданию хорошей экосистемы для приложений JavaScript и TypeScript.

Теперь, чтобы включить отладку для языка C / C ++, загрузите расширение C / C ++ от Microsoft со вкладки расширений, как показано выше. Просто нажмите «Установить», и он установится автоматически.

Я использую osx и люблю поддержку clang с lldb, которая упрощает отладку строк и коллекций. Вы можете ввести базовую программу на C ++ и использовать lldb для ее отладки, как показано ниже.

#include <iostream>
using namespace std;
int main() {
    string message = "Hello World";
    cout << message << endl;
    return 0;
}

Хорошо, но мы хотим тонкости отладки с помощью визуального редактора и делать то же самое и визуально анализировать задачи. Итак, войдите в указанную выше программу, создав новую папку и скопируйте ее в файл, а именно `main.cpp`.

Теперь перейдем на вкладку отладки, щелкните значок шестеренки с красной точкой и выберите C ++ (gdb / lldb).

Он создаст файл launch.json и позволит настроить параметры проекта. Мы изменим поля «программа» и «externalConsole» в «конфигурации». Установите эти два значения ниже. Сделайте это как для «C ++ Launch», так и «C ++ Attach». Вы можете выбрать «имя», когда будете пытаться отлаживать программу. «C ++ Attach» полезен в случаях, когда программа запускается в другом месте из командной строки или с использованием другой IDE. В этой статье мы будем придерживаться «Запуск C ++».

"program": "${workspaceRoot}/a.out",
"externalConsole": false

Теперь нажмите Cmd + shift + B в osx или Ctrl + shift + B в windows / linux, чтобы «Настроить средство запуска задач».

Выберите «Другое» после нажатия «Настроить средство запуска задач». Будет создан файл `tasks.json`. Замените файл содержимым ниже.

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "0.1.0",
    "command": "clang++",
    "isShellCommand": true,
    "args": ["main.cpp", "-std=c++11", "-g"],
    "showOutput": "always"
}

Теперь вы можете нажать Cmd + shift + B в osx или Ctrl + shift + B в windows / linux, чтобы собрать программу a.out с отладочными символами. Идите вперед, установите точку останова в строке 7 и нажмите кнопку «запустить» на вкладке отладки, чтобы запустить отладчик. Вы увидите что-то подобное ниже.

Не лучшая поддержка, но она работает, вы можете выполнять те же операции, как входить, выходить, повторять, продолжать, попадать в точки останова, проверять и т. Д. В этой области все еще продолжаются улучшения, так как вывод lldb для печати лучше проверяется, чем указано выше . Я также пробовал создать `stack` и проанализировать его с помощью lldb и vscode, и lldb все еще имеет красивую печать. Выходы показаны ниже.

Я надеюсь, что вышеизложенное будет улучшено в будущем, но я все еще наслаждаюсь поддержкой отладки, редактор действительно быстрый и хорошая поддержка подсветки синтаксиса, поддерживаемая Microsoft и усилиями сообщества. Прохладный!